ci(ios): re-home the dispatch-only iOS workflows to the repo root - #728
Draft
TarikGul wants to merge 1 commit into
Draft
ci(ios): re-home the dispatch-only iOS workflows to the repo root#728TarikGul wants to merge 1 commit into
TarikGul wants to merge 1 commit into
Conversation
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.
|
CI Status: 14 required jobs green, 11 passed and 3 skipped by path filter. All job results
Commit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GitHub only reads workflows from the repository root, so everything under
hosts/ios/.github/workflows/does nothing today. This moves the seven thatnever trigger themselves: two
workflow_calland fiveworkflow_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:
Composite actions stay under
hosts/iosand are referenced as./hosts/ios/.github/actions/.... That is also what makes theworkflow_callreferences between these files work, since a local
uses:path always resolvesfrom 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, thexcconfig edit, the TestFlight build number lookup. Steps that take a path
argument keep a root relative one, so
read-build-versiongets a prefixedpbxproj 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 athosts/ios/source_packages, thegenerated secrets and
GoogleService-Info.plistland underhosts/ios, and theipa 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 actuallybuilds from this layout is unproven until #672 lands. Left as a draft for that
reason.
Part of #680.