name: Test on: - push - pull_request jobs: hakurei: name: Hakurei 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.hakurei - name: Upload test output uses: actions/upload-artifact@v3 with: name: "hakurei-vm-output" path: result/* retention-days: 1 race: name: Hakurei (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: "hakurei-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 planterette: name: Planterette 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.planterette - name: Upload test output uses: actions/upload-artifact@v3 with: name: "planterette-vm-output" path: result/* retention-days: 1 check: name: Flake checks needs: - hakurei - race - sandbox - sandbox-race - planterette 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 HAKUREI_REV="$(git rev-parse --short HEAD)" && sed -i.old 's/version = /version = "0.0.0-'$HAKUREI_REV'"; # version = /' package.nix && nix build --print-out-paths --print-build-logs .#dist && mv package.nix.old package.nix && echo "rev=$HAKUREI_REV" >> $GITHUB_OUTPUT - name: Upload test build uses: actions/upload-artifact@v3 with: name: "hakurei-${{ steps.build-test.outputs.rev }}" path: result/* retention-days: 1