name: "CI" on: pull_request: push: jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - uses: icewind1991/attic-action@v1 with: name: ci instance: https://cache.icewind.me authToken: '${{ secrets.ATTIC_TOKEN }}' - run: nix build .#check clippy: runs-on: ubuntu-latest needs: check steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - uses: icewind1991/attic-action@v1 with: name: ci instance: https://cache.icewind.me authToken: '${{ secrets.ATTIC_TOKEN }}' - run: nix build .#clippy test: runs-on: ubuntu-latest needs: check steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - uses: icewind1991/attic-action@v1 with: name: ci instance: https://cache.icewind.me authToken: '${{ secrets.ATTIC_TOKEN }}' - run: nix build .#test msrv: runs-on: ubuntu-latest needs: check steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - uses: icewind1991/attic-action@v1 with: name: ci instance: https://cache.icewind.me authToken: '${{ secrets.ATTIC_TOKEN }}' - run: nix build .#msrv matrix: runs-on: ubuntu-latest outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - id: set-matrix run: echo "matrix=$(nix eval --json ".#matrix.x86_64-linux")" | tee $GITHUB_OUTPUT build: runs-on: ubuntu-latest needs: [check, matrix] strategy: fail-fast: false matrix: ${{fromJson(needs.matrix.outputs.matrix)}} steps: - uses: actions/checkout@v3 - uses: cachix/install-nix-action@v20 - uses: icewind1991/attic-action@v1 with: name: ci instance: https://cache.icewind.me authToken: '${{ secrets.ATTIC_TOKEN }}' - run: nix build .#${{ matrix.target }} - uses: actions/upload-artifact@v3 with: name: vbsp-to-gltf-${{ matrix.target }} path: result/bin/vbsp-to-gltf${{ matrix.artifactSuffix }}