about summary refs log tree commit diff
path: root/tools/nixery/.github
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2021-04-29T13·10+0200
committerVincent Ambo <mail@tazj.in>2021-04-29T21·44+0200
commit970f49223599ec124809ead7be0b61e3e30431f9 (patch)
tree31379d84e0b522df1bb040e3473df0b25a0b10a8 /tools/nixery/.github
parentee48bd891cbe0c5f7e819787f6ddd39053507cf1 (diff)
feat(ci): add integration tests to GitHub Actions, remove .travis.yaml
This copies the integration tests from `.travis.yaml` into a script,
documents the assumptions it makes, and wires it into GitHub Actions.

Contrary to the travis version, we don't use Nixery's GCS backend, as
handing out access to the bucket used, especially for PRs, needs to be
done carefully.

Adding back GCS to the integration test can be done at a later point,
either by using a mock server, or by only exposing the credentials for
master builds (and have the test script decide on whether
GOOGLE_APPLICATION_CREDENTIALS is set or not).

The previous travis version had some complicated post-mortem log
gathering - instead of doing this, we can just `docker run` nixery, but
fork it into the background with the shell - causing it to still be able
to log its output as it's running.

An additional `--rm` is appended, so the container gets cleaned up on
termination - this allows subsequent runs on non-CI infrastructure (like
developer laptops), without having to manually clean up containers.

Fixes #119.
Diffstat (limited to 'tools/nixery/.github')
-rw-r--r--tools/nixery/.github/workflows/build-and-test.yaml2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/nixery/.github/workflows/build-and-test.yaml b/tools/nixery/.github/workflows/build-and-test.yaml
index 1036220aaffd..3ae4e639e31e 100644
--- a/tools/nixery/.github/workflows/build-and-test.yaml
+++ b/tools/nixery/.github/workflows/build-and-test.yaml
@@ -26,3 +26,5 @@ jobs:
         run: "test -z $(gofmt -l .)"
       - name: Build Nixery
         run: "nix-build --arg maxLayers 2"
+      - name: Run integration test
+        run: scripts/integration-test.sh