Repository navigation
trial: validate the CI workflow - #1
Closed
peechycreation wants to merge 4 commits into
Closed
peechycreation wants to merge 4 commits into
peechycreation wants to merge 4 commits into
Conversation
`set -e` aborts the script when `grep` finds no "Developer ID Application" line, so the "Apple Development" fallback the loop was written for is never reached. On a machine that only has a development certificate, build-app.sh exits 1 right after "Build complete" with no message, leaving an unsigned, half-assembled bundle in build/. Let the substitution fail quietly so the loop can try the next kind.
The project had no automated checks, so a release could ship a build that does not compile from a clean checkout. This runs on macos-15: swift build, the test suite with the machine-wide scan enabled (a runner starts empty, so the walk that is slow locally is quick here), scripts/build-app.sh, and a check that the assembled bundle has its binary, its Info.plist, the SwiftPM resource bundle Bundle.module needs and a valid signature. The last step reruns compile-strings.sh and fails on a diff, so a catalog edit committed without regenerating the .strings files is caught here rather than as a half-translated menu at runtime. Note: the bundle step needs the signing-identity fix, otherwise build-app.sh aborts on a runner, which has no certificate at all.
itemsAreWellFormed and jsonInventoryIsWellFormed each walk $HOME, /Library, /private/var, /opt, /usr/local and /Users/Shared and measure every file under them. On a developer Mac that is over 20 minutes for the pair, with no output until they finish, so `swift test` is not something anyone runs before a commit. Put them behind SYSDATA_SCAN_TESTS and give them a time limit. The remaining suite is 9 tests in 8 ms; the inventory is still one variable away, and a CI runner starts empty enough to enable it there.
Enabling it was wrong: a GitHub runner ships Xcode with its simulator runtimes and device support, so the walk is no quicker there than on a developer Mac. A trial run passed 23 minutes without finishing. Also gives the job a 20-minute ceiling so a hang costs one job rather than the six hours a runner will otherwise sit there.
Owner
Author
|
CI validated (green in 56s). Closing the trial branch. |
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.
Internal fork-only PR to make GitHub Actions run the new workflow. Not for upstream.