Skip to content

Fix empty iOS release version on release event#108

Merged
viktorvrchlavsky merged 1 commit into
mainfrom
fix/ios-release-version-from-release-event
Jun 23, 2026
Merged

Fix empty iOS release version on release event#108
viktorvrchlavsky merged 1 commit into
mainfrom
fix/ios-release-version-from-release-event

Conversation

@viktorvrchlavsky

Copy link
Copy Markdown
Contributor

Problem

The reusable iOS release workflow ios-kmp-selfhosted-release.yml derives the Fastlane version from github.ref_name:

version_number: ${{ github.ref_name }}

On a release-triggered run (on: release: [published]), github.ref_name is empty. The downstream ios-fastlane-release action maps it to VERSION_TAG for parse-version-tag.sh, which then fails:

##[error]Tag '' does not match expected format 'x.y.z' or 'x.y.z-*' (any suffix after - is ignored)
##[error]Process completed with exit code 1.

Observed in uniapp-kmp release 1.0.7 (failed run). It reproduces on the first attempt (not a re-run artifact), and the Android job in the same run — which reads github.event.release.tag_name — succeeded with 1.0.7.

Fix

Prefer the release payload, fall back to github.ref_name:

version_number: ${{ github.event.release.tag_name || github.ref_name }}
  • release events → uses github.event.release.tag_name (the actual tag, and it survives re-runs since it comes from the stored event payload).
  • push-tag eventsgithub.event.release is null, so it falls back to github.ref_name (the tag). Fully backward compatible; no input/interface change.

Release / rollout

Needs a new tag (e.g. 2.4.2) after merge. Consumers (e.g. uniapp-kmp/.github/workflows/on_release.yml) then bump their ios-kmp-selfhosted-release.yml@… ref to pick it up.

🤖 Generated with Claude Code

`ios-kmp-selfhosted-release.yml` derived the Fastlane version from
`github.ref_name`, which is empty on `release`-triggered runs. The
`parse-version-tag.sh` step then received an empty `VERSION_TAG` and
failed with "Tag '' does not match expected format 'x.y.z'".

Prefer the release payload (`github.event.release.tag_name`) and fall
back to `github.ref_name` so push-tag triggers keep working.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@viktorvrchlavsky viktorvrchlavsky requested a review from a team June 23, 2026 05:23
@viktorvrchlavsky viktorvrchlavsky merged commit 2e76ab6 into main Jun 23, 2026
2 checks passed
@viktorvrchlavsky viktorvrchlavsky deleted the fix/ios-release-version-from-release-event branch June 23, 2026 06:03
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.

2 participants