Skip to content

ci: build the SCSI-enabled variant on every PR - #92

Merged
mrmidi merged 2 commits into
mrmidi:mainfrom
mhellevang:ci/scsi-build-variant
Aug 2, 2026
Merged

ci: build the SCSI-enabled variant on every PR#92
mrmidi merged 2 commits into
mrmidi:mainfrom
mhellevang:ci/scsi-build-variant

Conversation

@mhellevang

Copy link
Copy Markdown
Contributor

What

Adds a parallel CI job that builds the driver with ASFW_ENABLE_SCSI=YES (unsigned) and asserts the ASFWSCSIControllerService personality actually landed in the built dext's Info.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 — the Info.plist personality 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 PlistBuddy against 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.xcodeproj with 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.

Homebrew's xcodegen moved to 2.46.0, which emits the pbxproj group order
differently; without this regen the 'Verify ASFW.xcodeproj matches
project.yml' CI gate fails on every PR against main. Same one-line regen
already carried by mrmidi#61 and mrmidi#90 on their branches.
… 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.
exit 1
}

# The personality is injected by Info.plist preprocessing; assert it

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks too safe for me, but let's leave it as is :)

@mrmidi
mrmidi merged commit 741fdd6 into mrmidi:main Aug 2, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants