aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-06-25 19:37:45 +0900
committerOphestra <cat@gensokyo.uk>2025-06-25 19:37:45 +0900
commit00efc95ee7a8f344c0ed3770a5383c5690a2f877 (patch)
tree2dd3c3afdc9a2c18386b5437737049262c1db045
parentb380bb248c69ae2c9bbd6b2784f953a20492a228 (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.yml48
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