name: CI on: push: branches: [main] paths: - "**.nix" - "flake.lock" - ".github/workflows/ci.yaml" pull_request: paths: - "**.nix" - "flake.lock" - ".github/workflows/ci.yaml" workflow_call: inputs: ref: type: string description: "The branch, tag or SHA to checkout." required: false workflow_dispatch: jobs: build: name: Build (${{ matrix.system }}/${{ matrix.target }}) strategy: fail-fast: false matrix: include: - os: ubuntu-latest system: x86_64-linux target: x86_64-unknown-linux-gnu - os: ubuntu-latest system: x86_64-linux target: aarch64-unknown-linux-gnu - os: ubuntu-latest system: x86_64-linux target: armv7l-unknown-linux-gnueabihf - os: ubuntu-latest system: x86_64-linux target: powerpc64le-unknown-linux-gnu - os: ubuntu-latest system: x86_64-linux target: riscv64-unknown-linux-gnu runs-on: ${{ matrix.os }} steps: - name: Checkout repository uses: actions/checkout@v4 with: ref: ${{ inputs.ref }} - name: Install Nix uses: cachix/install-nix-action@v30 - name: Run build env: BASE_ATTRIBUTE: "${{ matrix.target}}-lwjgl" run: | nix build \ --accept-flake-config \ --fallback \ --keep-going \ --print-build-logs \ --show-trace \ ".#\"$BASE_ATTRIBUTE-3.3.3\"" \ ".#\"$BASE_ATTRIBUTE-3.3.4\"" \ ".#\"$BASE_ATTRIBUTE-3.3.6\""