diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-06-25 19:37:45 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-06-25 19:37:45 +0900 |
| commit | 00efc95ee7a8f344c0ed3770a5383c5690a2f877 (patch) | |
| tree | 2dd3c3afdc9a2c18386b5437737049262c1db045 | |
| parent | b380bb248c69ae2c9bbd6b2784f953a20492a228 (diff) | |
workflows: port test workflow to github
This is a much less useful port of the test workflow and runs much slower due to runner limitations.
Still better than nothing though.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | .github/workflows/test.yml | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..e4226cf4 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,48 @@ +name: Test + +on: + - push + +jobs: + dist: + name: Create distribution + runs-on: ubuntu-latest + permissions: + actions: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Nix + uses: nixbuild/nix-quick-install-action@v32 + with: + nix_conf: | + keep-env-derivations = true + keep-outputs = true + + - name: Restore and cache Nix store + uses: nix-community/cache-nix-action@v6 + with: + primary-key: build-${{ runner.os }}-${{ hashFiles('**/*.nix') }} + restore-prefixes-first-match: build-${{ runner.os }}- + gc-max-store-size-linux: 1G + purge: true + purge-prefixes: build-${{ runner.os }}- + purge-created: 60 + purge-primary-key: never + + - 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@v4 + with: + name: "hakurei-${{ steps.build-test.outputs.rev }}" + path: result/* + retention-days: 1 |
