Skip to content

CI/release overhaul, dependency updates, and distribution policy changes - #79

Merged
futamura merged 8 commits into
mainfrom
develop
Aug 17, 2026
Merged

CI/release overhaul, dependency updates, and distribution policy changes#79
futamura merged 8 commits into
mainfrom
develop

Conversation

@futamura

Copy link
Copy Markdown
Owner

Summary

This PR publishes the CI/release groundwork staged on develop:

  • CI: run workflows on pushes and PRs to main/develop; refresh runner images (macos-26/15); resolve simulator destinations at runtime via simctl; add a CI Success aggregate gate for branch protection; split release out of CI.
  • Release: new tag-triggered release.yml that verifies the tag against MARKETING_VERSION before pushing to CocoaPods trunk; version tags are immutable.
  • Dependencies: update gems to resolve all 30 Dependabot alerts on the default branch.
  • Distribution policy: announce CocoaPods sunset (trunk read-only on 2026-12-02) and Carthage best-effort support; drop the Carthage CI job.
  • Docs: fix Codecov badge repo/branch and license badge; add CLAUDE.md.

Test plan

  • CI Success gate passes on this PR (lint, per-platform xcodebuild tests, SPM build/test, pod lib lint)

- Add pull_request trigger so PRs to main/develop are tested
- Replace retired macOS-12/13/14 runners and dead Xcode pins with
  macos-26 (Xcode 26) and macos-15 (Xcode 16.4) using image defaults
- Run Catalyst tests against a real Mac Catalyst destination
- Move CocoaPods publishing out of main.yml into release.yml,
  triggered by pushing a bare version tag matching MARKETING_VERSION
- Make version tags and trunk versions immutable: fail instead of
  deleting and republishing (release.yml and run.sh)
- Resolve simulator device names via simctl at runtime instead of
  hardcoding names that break with each Xcode release (iPhone 16 Pro
  is absent from the iOS 26 runtime, Series 10 from watchOS 26)
- Disable code signing for the Catalyst test job
- Stop verifying Carthage builds in CI (Carthage is in maintenance
  mode; compatibility remains best-effort via the Xcode project)
- Reduce CocoaPods linting to macOS/iOS Release ahead of the trunk
  going read-only on 2026-12-02
CocoaPods trunk becomes permanently read-only on 2026-12-02; recommend
SPM as the primary installation method. Also fix a copy-paste reference
to TLDExtract in the CocoaPods section.
All alerts were in the fastlane toolchain (Gemfile.lock), none in the
library itself. Notably nokogiri 1.19.4 fixes the critical advisory.
Verified fastlane 2.238.0 still lists all lanes.
The codecov badge pointed at gumob/PunycodeSwift on the master branch;
the repository is now futamura/PunycodeSwift with main as the default
branch. The license badge referenced doctrine/orm on Packagist.
Use a single stable-named aggregate job as the required status check
so branch protection does not rot when matrix job names change with
Xcode versions. Drop the paths filter on pull_request so the required
check reports on every PR, including docs-only changes.
@codecov

codecov Bot commented Aug 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.57%. Comparing base (82b5435) to head (1d24245).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #79   +/-   ##
=======================================
  Coverage   97.57%   97.57%           
=======================================
  Files           3        3           
  Lines         165      165           
=======================================
  Hits          161      161           
  Misses          4        4           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@futamura
futamura merged commit c939ab3 into main Aug 17, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant