nightly - macOS #25
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: nightly - macOS | |
on: | |
schedule: | |
- cron: "0 3 * * *" # run daily at 3:00 AM UTC | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
token: ${{ secrets.PAT_TOKEN }} | |
- name: Install dependencies | |
run: brew install nasm curl make | |
- name: Fetch and install toolchain | |
run: | | |
curl https://jewelcodes.io/lux/toolchain-macos-arm64.tar.xz -o toolchain-macos-arm64.tar.xz | |
tar -xvJf toolchain-macos-arm64.tar.xz | |
mv toolchain $HOME/work/toolchain | |
mv host $HOME/work/host | |
echo "$HOME/work/toolchain/bin" >> $GITHUB_PATH | |
- name: Verify toolchain is executable | |
run: x86_64-lux-gcc -v | |
- name: Build LXFS disk image manager | |
run: make -C lxfs | |
- name: Build x86_64 boot loader | |
run: make -C boot-x86_64 | |
- name: Build kernel | |
run: make -C kernel | |
- name: Build lucerna | |
run: make -C lucerna | |
- name: Install lucerna | |
run: make install -C lucerna | |
- name: Build servers | |
run: make -C servers | |
- name: Install servers | |
run: make install -C servers | |
- name: Build lumen | |
run: make -C lumen | |
- name: Create disk image | |
run: make | |
- name: Timestamp disk image | |
run: mv lux.hdd lux-nightly-$(date +"%Y-%m-%d").hdd | |
- name: Archive disk image | |
uses: actions/upload-artifact@v4 | |
with: | |
name: disk-image | |
path: lux*.hdd | |
- name: Clean up artifacts | |
run: | | |
rm -rf *.hdd toolchain-macos-arm64.tar.xz $HOME/work/toolchain $HOME/work/host | |
make clean |