You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: verify main, gate releases on version match, pin Sparkle, fix artifact names
- CI now runs on pushes to main (it was PR-only while commits land
directly on main, so main was never build-verified) and runs the unit
test suite alongside the build.
- Releases gain a preflight that asserts the pushed tag matches
project.yml's MARKETING_VERSION. Without it, tagging v2.6.0 with a
stale project.yml shipped mismatched assets — and Sparkle still pushed
them to every user, since CFBundleVersion (commit count) always grows.
- workflow_dispatch removed from the release workflow: dispatched from a
branch, github.ref_name is the branch name, which baked broken
enclosure URLs into the appcast. A concurrency group serialises
releases so concurrent tags can't race the gh-pages publish.
- Sparkle is pinned to exactly 2.6.4 (matching the CLI tools CI pins).
Package.resolved lives inside the gitignored, regenerated xcodeproj so
it can't pin anything; the floating from:2.6.0 resolved a fresh latest
2.x each build — the stale-module failure while landing this commit
confirmed local builds were already on a newer, unpinned Sparkle.
- Release artifacts are named -universal instead of the runner's
uname -m: the archive is universal (ARCHS_STANDARD, ONLY_ACTIVE_ARCH
NO), and the old -arm64 suffix deterred the Intel users the README
promises support for.
0 commit comments