ci: upload release artifacts #121
This file contains 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
name: XNU CodeQL | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
macos-version: [ '13.0', '13.1', '13.2', '13.3', '13.4', '13.5', '14.0', '14.1', '14.2', '14.3' ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Deps | |
run: | | |
brew update | |
brew install bash blacktop/tap/ipsw | |
sudo ipsw dl kdk --host --install | |
sudo xcode-select -s /Applications/Xcode_15.2.app | |
- name: kmutil help # This is to check for what flags are available | |
run: | | |
sysctl -n kern.bootobjectspath || true | |
sw_vers | |
kmutil inspect | |
# - name: Cache JSONDB | |
# id: cache-jsondb | |
# uses: actions/cache@v4 | |
# with: | |
# path: .cache/${{ matrix.macos-version }}/compile_commands.json | |
# key: ${{ matrix.macos-version }}-jsondb | |
# - name: Build XNU JSON compilation database | |
# if: steps.cache-jsondb.outputs.cache-hit != 'true' | |
# run: | | |
# MACOS_VERSION='${{ matrix.macos-version }}' MACHINE_CONFIG=VMAPPLE JSONDB=1 bash -x build.sh | |
- name: Build XNU | |
run: | | |
MACOS_VERSION='${{ matrix.macos-version }}' MACHINE_CONFIG=VMAPPLE KC_FILTER='com.apple.driver.SEPHibernation|com.apple.iokit.IOACPIFamily' bash -x build.sh --kc | |
ipsw macho info fakeroot/oss-xnu.macOS.${{ matrix.macos-version }}.*.kc | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: xnu-build-${{ matrix.macos-version }} | |
path: | | |
fakeroot/System/Library/Kernels/ | |
fakeroot/oss-xnu.macOS.${{ matrix.macos-version }}.*.kc | |
- name: Build XNU CodeQL Database | |
run: MACOS_VERSION='${{ matrix.macos-version }}' MACHINE_CONFIG=VMAPPLE bash -x codeql.sh | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: xnu-codeql-${{ matrix.macos-version }} | |
path: xnu-codeql.zip | |
- name: Release | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
ls -lah | |
gh release upload v${{ matrix.macos-version }} --clobber fakeroot/System/Library/Kernels/kernel.release.vmapple | |
gh release upload v${{ matrix.macos-version }} --clobber kernel.release.vmapple.sha256 | |
gh release upload v${{ matrix.macos-version }} --clobber xnu-codeql.zip | |
gh release upload v${{ matrix.macos-version }} --clobber xnu-codeql.zip.sha256 |