name: Build Projects on: push: branches: [ main, integration ] pull_request: branches: [ main, integration ] jobs: build: runs-on: ${{ matrix.target.os }} strategy: matrix: target: - zig: x86_64-linux-gnu os: self-hosted-linux - zig: x86_64-windows os: self-hosted-windows steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive - name: Build projects working-directory: ./projects run: zig build install -Dtarget=${{ matrix.target.zig }} - name: Upload build artifacts uses: actions/upload-artifact@v4 if: success() with: name: build-artifacts-${{ matrix.target.zig }} path: | projects/zig-out/ retention-days: 7