From 37a593f39a0d5aea5ef0adb5d30c2a7badada711 Mon Sep 17 00:00:00 2001 From: itsjoshpark Date: Sat, 31 Oct 2026 16:15:08 -0400 Subject: [PATCH] ci: record the shipped build number in the release commit Changie stamps only the marketing version, so local builds after a release reported the new version with the previous build number. --- .changie.yaml | 2 +- .github/workflows/release.yml | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.changie.yaml b/.changie.yaml index 31ea993..2fbf18e 100644 --- a/.changie.yaml +++ b/.changie.yaml @@ -31,7 +31,7 @@ newlines: endOfVersion: 1 # Applied by `changie merge`: the marketing version lives at project level in # project.xcproj (four spaces of indentation). The build number is the commit -# count and is passed to the build, never written back. +# count; the release workflow records it separately. replacements: - path: Front Row.xcodeproj/project.xcproj find: '^ "MARKETING_VERSION": ".*",$' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fd2f54d..a5acfd3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ # CHANGELOG.md, and stamps MARKETING_VERSION into project.xcproj. The notes go # to GitHub as Markdown and to the appcast as HTML, rendered by cmark-gfm so # both read the same. The build number is the commit count; it is passed to the -# build and never written back. fastlane (fastlane/Fastfile) imports the +# build and recorded in project.xcproj with the release commit. fastlane (fastlane/Fastfile) imports the # certificate, archives, exports, and notarizes. # # Nothing outside the runner is touched until notarization succeeds, so a failed @@ -354,6 +354,10 @@ jobs: # Changie's batch and merge already ran: the fragments became # .changes/$version.md, CHANGELOG.md was regenerated, and project.xcproj # carries the new marketing version. + # Record the shipped build number too, so local builds report what last + # shipped. Changie stamps only the marketing version. + xcrun xcodeproj setting set --project "Front Row.xcodeproj" CURRENT_PROJECT_VERSION "${{ steps.version.outputs.build }}" + git add -A .sparkle/appcast.xml .changes CHANGELOG.md "Front Row.xcodeproj/project.xcproj" git commit -m "chore: release $version (${{ steps.version.outputs.build }}) [skip ci]"