ci: build the SCSI-enabled variant on every PR - #92
Merged
Conversation
… rot The SCSI HBA is opt-in (ASFW_ENABLE_SCSI, ./build.sh --scsi) and OFF in the default CI build, so the Info.plist personality preprocessing and the entitlement selection were never exercised by CI. A regression there only surfaces on an opt-in user's machine, where the failure mode is the mrmidi#54 boot panic. New parallel job builds with ASFW_ENABLE_SCSI=YES (unsigned) and asserts the ASFWSCSIControllerService personality actually landed in the built dext's Info.plist.
mrmidi
reviewed
Aug 2, 2026
| exit 1 | ||
| } | ||
|
|
||
| # The personality is injected by Info.plist preprocessing; assert it |
Owner
There was a problem hiding this comment.
Looks too safe for me, but let's leave it as is :)
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.
What
Adds a parallel CI job that builds the driver with
ASFW_ENABLE_SCSI=YES(unsigned) and asserts theASFWSCSIControllerServicepersonality actually landed in the built dext'sInfo.plist.Why
The SCSI HBA is opt-in (
./build.sh --scsi, #55) and OFF in the default CI build, so the two things the flag controls — theInfo.plistpersonality preprocessing and the SCSI entitlement selection — are never exercised by CI today. A regression there only surfaces on an opt-in user's machine, where the failure mode is the #54 boot panic. With this job the gated configuration can't silently rot while the flag stays default-off (and if SCSI ever becomes default-on, the coverage is already in place).The personality assertion uses
PlistBuddyagainst the built dext, so a silent preprocessor regression (personality quietly missing) fails CI rather than passing as a "successful" build.Housekeeping
First commit regenerates
ASFW.xcodeprojwith xcodegen 2.46.0 (Homebrew's current version, which changed the emitted group order). Without it the existing "Verify ASFW.xcodeproj matches project.yml" gate fails for every PR against main — #61 and #90 already carry the same one-line regen on their branches.