Skip to content

ci(ios): re-home the dispatch-only iOS workflows to the repo root - #728

Draft
TarikGul wants to merge 1 commit into
mainfrom
tg/rehome-ios-dispatch-workflows
Draft

ci(ios): re-home the dispatch-only iOS workflows to the repo root#728
TarikGul wants to merge 1 commit into
mainfrom
tg/rehome-ios-dispatch-workflows

Conversation

@TarikGul

Copy link
Copy Markdown
Member

GitHub only reads workflows from the repository root, so everything under
hosts/ios/.github/workflows/ does nothing today. This moves the seven that
never trigger themselves: two workflow_call and five workflow_dispatch.

Picking those seven means no scheduled or pull request behaviour changes. The
mechanical path work lands and gets reviewed now, ahead of the credentials and
runners in #672 that the actual PR checks need.

What moved:

_build_distribute.yml        -> ios-build-distribute.yml
_prepare_pipeline.yml        -> ios-prepare-pipeline.yml
nightly_distribution.yml     -> ios-nightly-distribution.yml
register_device.yml          -> ios-register-device.yml
release_prepare.yml          -> ios-release-prepare.yml
safetynet_distribution.yml   -> ios-safetynet-distribution.yml
testflight_distribution.yml  -> ios-testflight-distribution.yml

Composite actions stay under hosts/ios and are referenced as
./hosts/ios/.github/actions/.... That is also what makes the workflow_call
references between these files work, since a local uses: path always resolves
from the repository root no matter where the calling file lives, so those
references were broken while the files sat in a subdirectory.

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

The shared composite actions needed 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
ipa uploads from there.

Worth being clear about what this does not establish. Nothing invokes these
workflows, and a real build needs the credentials in #672, so the checks here
are actionlint plus every local uses: path resolving. Whether the app actually
builds from this layout is unproven until #672 lands. Left as a draft for that
reason.

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.
@github-actions github-actions Bot added github_actions Pull requests that update GitHub Actions code host-work Needs implementation in one or more host repos labels Sep 10, 2026
@github-actions

Copy link
Copy Markdown

CI Status: 14 required jobs green, 11 passed and 3 skipped by path filter.

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

Commit e9408ba0 · run log

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 host-work Needs implementation in one or more host repos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant