name: Build on: push: branches: [main, zig-master] pull_request: branches: [main] schedule: - cron: "0 0 * * *" jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest, windows-latest, macos-latest, ] steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Zig uses: goto-bus-stop/setup-zig@v2 with: version: 0.13.0 - name: Build run: zig build -Doptimize=ReleaseSmall - name: Unit Test BSPs run: zig build run-bsp-tests -Doptimize=ReleaseSmall - name: Dry run packaging if: ${{ matrix.os == 'macos-latest' }} run: | MICROZIG_VERSION=$(zig build package -- get-version) echo microzig version: $MICROZIG_VERSION zig build package -- http://localhost:8000 python3 -m http.server 8000 --directory boxzer-out & sleep 1 cd tools/package-test zig fetch --save=microzig http://localhost:8000/microzig-${MICROZIG_VERSION}.tar.gz zig build -Doptimize=ReleaseSmall zig build run-bsp-tests # clean up server jobs -p | xargs kill