name: Test on: - push - pull_request jobs: fortify: name: Fortify runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run NixOS test run: nix build --out-link "result" --print-out-paths --print-build-logs .#checks.x86_64-linux.fortify - name: Upload test output uses: actions/upload-artifact@v3 with: name: "fortify-vm-output" path: result/* retention-days: 1 race: name: Fortify (race detector) runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run NixOS test run: nix build --out-link "result" --print-out-paths --print-build-logs .#checks.x86_64-linux.race - name: Upload test output uses: actions/upload-artifact@v3 with: name: "fortify-race-vm-output" path: result/* retention-days: 1 sandbox: name: Sandbox runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run NixOS test run: nix build --out-link "result" --print-out-paths --print-build-logs .#checks.x86_64-linux.sandbox - name: Upload test output uses: actions/upload-artifact@v3 with: name: "sandbox-vm-output" path: result/* retention-days: 1 sandbox-race: name: Sandbox (race detector) runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run NixOS test run: nix build --out-link "result" --print-out-paths --print-build-logs .#checks.x86_64-linux.sandbox-race - name: Upload test output uses: actions/upload-artifact@v3 with: name: "sandbox-race-vm-output" path: result/* retention-days: 1 fpkg: name: Fpkg runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run NixOS test run: nix build --out-link "result" --print-out-paths --print-build-logs .#checks.x86_64-linux.fpkg - name: Upload test output uses: actions/upload-artifact@v3 with: name: "fpkg-vm-output" path: result/* retention-days: 1 check: name: Flake checks needs: - fortify - fpkg - race runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Run checks run: nix --print-build-logs --experimental-features 'nix-command flakes' flake check dist: name: Create distribution runs-on: nix steps: - name: Checkout uses: actions/checkout@v4 - name: Build for test id: build-test run: >- export FORTIFY_REV="$(git rev-parse --short HEAD)" && sed -i.old 's/version = /version = "0.0.0-'$FORTIFY_REV'"; # version = /' package.nix && nix build --print-out-paths --print-build-logs .#dist && mv package.nix.old package.nix && echo "rev=$FORTIFY_REV" >> $GITHUB_OUTPUT - name: Upload test build uses: actions/upload-artifact@v3 with: name: "fortify-${{ steps.build-test.outputs.rev }}" path: result/* retention-days: 1