ci: resolve dependencies before touching the keychain - #9
Merged
Conversation
Two v0.1.0 attempts stalled 20+ minutes on "Downloading binary artifact Sparkle-for-Swift-Package-Manager.zip" inside build-release.sh, leaving an orphan swift-package process. CI's plain swift build fetched the same zip in 24s on the same runner image, so it is not the network: the difference is that the release job had already created and unlocked a custom keychain and replaced the user keychain search list. Resolve at the top of the job instead, before any signing state exists, and bound both steps so a stall costs minutes instead of the whole job.
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.
Two
v0.1.0attempts stalled on exactly this line insidebuild-release.sh:It is not the network and not SwiftPM-vs-xcodebuild:
swift buildfetched the same 11 MB zip and finished the whole job in 24s, at 19:34 — between the two stalled release runs.XCRemoteSwiftPackageReference, resolved 2.8.1, same binaryTarget zip) and its build+sign+notarize is 72s.What differs is ordering: in the release job that download happens after the job has created and unlocked a custom keychain and replaced the user keychain search list.
timeout-minutes: 8on it and25on build/sign/notarize, so a stall costs minutes instead of burning the 45-minute job with no output.swift package resolvealso populates.build/artifacts, which the latersign_updatelookup already expects.