Skip to content

ci: upload release artifacts #121

ci: upload release artifacts

ci: upload release artifacts #121

Workflow file for this run

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