Skip to content

ci(ios): re-home the remaining iOS workflows, held on dispatch - #741

Merged
TarikGul merged 3 commits into
mainfrom
tg/rehome-ios-remaining-workflows
Sep 14, 2026
Merged

TarikGul merged 3 commits into
mainfrom
tg/rehome-ios-remaining-workflows

Conversation

@TarikGul

Copy link
Copy Markdown
Member

Stacked on #728, so that merges first. Together they finish the move: all
fifteen iOS workflows live at the repository root, none of them under
hosts/ios/.github/workflows/ where GitHub never read them.

These eight are the ones that trigger themselves, four on pull_request and
four on a schedule. So unlike the first batch they cannot simply be moved: at the
root they would run, and not every credential in #672 is in place.

Each live trigger is commented out rather than deleted:

pull_request  ios-pr, ios-firebase-debug-distribution,
              ios-release-branch-lifecycle, ios-release-distribution
schedule      ios-collect-prs-summary, ios-nightly-prepare,
              ios-nightly-simulator-release, ios-update-signing-data

The original filters are preserved exactly, the pull_request types and branch
lists and the cron expressions, so restoring them is a readable diff rather than
a rewrite. ios-pr.yml and ios-release-branch-lifecycle.yml carried only
pull_request, so they gain workflow_dispatch to remain valid.

Paths get the first batch's treatment. Steps that drive the app run from
hosts/ios, artifact and upload paths are prefixed, and the simulator release
writes a root-relative archive path because the release step resolves it from the
workspace rather than the step's directory.

Moving to the root also means these files are linted for the first time, so the
pre-existing findings are fixed here rather than left to redden main once
#736 lands: six unquoted GITHUB_ENV and GITHUB_OUTPUT redirects, and a
glob that could be read as options.

Two things left for the follow-up that restores the triggers. The branch filters
name develop and main from the source repository's branching model, which
does not apply here, so they need revisiting rather than restoring verbatim. And
nothing here has been exercised by a run, which needs the last two credentials.

Part of #680.

GitHub reads workflows only from the repository root, so everything under
hosts/ios/.github/workflows/ is inert. These seven are the ones that never
trigger themselves: two are workflow_call, five are workflow_dispatch. Moving
them changes no scheduled or pull request behaviour, so the mechanical work
lands before the secrets and runners that the pull request checks need.

Paths now resolve from the repository root. Composite action references become
./hosts/ios/.github/actions/..., which is also how the workflow_call references
between these files start resolving at all, since a local uses: path is always
read from the root regardless of where the calling file sits.

Steps that drive the app rather than the repository run from hosts/ios: the
fastlane invocations, the xcconfig edit, and the TestFlight build number lookup.
Steps that take a path argument keep a root-relative one instead, so
read-build-version reads a prefixed pbxproj default and a prefixed script path.

The shared composite actions pick up the same treatment: bundler resolves
hosts/ios/Gemfile, the SPM cache points at hosts/ios/source_packages, the
generated secrets and GoogleService-Info.plist land under hosts/ios, and the
built ipa is uploaded from there.

None of this is exercised yet. No current job resolves these workflows, and the
build itself needs the credentials tracked in #672, so this is verified by
actionlint and by every local reference resolving, not by a run.
The last eight, which is every iOS workflow that triggers itself. Four run on
pull_request and four on a schedule, so unlike the first batch they cannot be
moved and left alone: at the repository root they would run, and the build
credentials tracked in #672 are not all in place.

Each live trigger is therefore commented out rather than deleted, with the note
that restoring it is what puts the workflow live. The original filters are
preserved exactly, including the pull_request types and branch lists and the
cron expressions, so going live is a readable diff rather than a rewrite. pr.yml
and release_branch_lifecycle.yml carried only pull_request, so they gain a
workflow_dispatch trigger to stay valid.

Paths get the same treatment as the first batch. Steps that drive the app run
from hosts/ios, artifact and upload paths are prefixed, and the simulator
release writes a root-relative archive path because the release step resolves it
from the workspace.

These files are linted for the first time by moving to the root, so the
pre-existing findings are fixed here: six unquoted GITHUB_ENV and GITHUB_OUTPUT
redirects, and a glob that could be read as options.

Two things deliberately left for the follow-up that restores the triggers. The
branch filters name develop and main from the source repository's branching
model, which does not apply here. And no run has exercised any of this.
@github-actions github-actions Bot added the github_actions Pull requests that update GitHub Actions code label Sep 11, 2026
@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown

CI Status: 17 required jobs green, 13 passed and 4 skipped by path filter.

All job results
job result
android-bindings skipped
changes success
changeset-guard skipped
codegen success
e2e skipped
explorer success
ios-bindings success
ios-swift skipped
licenses success
playground success
release-guard success
rust success
ts-client success
ts-debugger success
ts-host success
wasm-provider success
workflow-lint success

Commit b2849c66 · run log

Base automatically changed from tg/rehome-ios-dispatch-workflows to main September 14, 2026 12:31
@TarikGul
TarikGul marked this pull request as ready for review September 14, 2026 12:39
@TarikGul
TarikGul requested a review from a team September 14, 2026 12:39
@TarikGul
TarikGul added this pull request to the merge queue Sep 14, 2026
Merged via the queue into main with commit d738029 Sep 14, 2026
39 of 41 checks passed
@TarikGul
TarikGul deleted the tg/rehome-ios-remaining-workflows branch September 14, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants