From 3d0479ac6f795105c602555c5f07441a080223d1 Mon Sep 17 00:00:00 2001 From: Amitai Burstein Date: Sat, 24 Jun 2023 16:30:27 +0300 Subject: [PATCH] Add GH action --- .github/workflows/test.yml | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..51364f2 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,50 @@ +name: Test + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [ main ] + pull_request: + branches: [ main ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + tests: + name: Run Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v20 + with: + nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/51bcdc4cdaac48535dabf0ad4642a66774c609ed.tar.gz + + # Use the cachix cache for faster builds. + - name: Cachix Init + uses: cachix/cachix-action@v12 + with: + name: digitallyinduced + skipPush: true + + # Install devenv. + - uses: cachix/cachix-action@v12 + with: + name: devenv + - name: Install devenv.sh + run: nix profile install github:cachix/devenv/latest + shell: sh + + # Install direnv, which also `direnv allow`s the project. + - uses: HatsuneMiku3939/direnv-action@v1 + with: + direnvVersion: 2.32.3 + + - run: | + # Start the project in the background. + nix-shell --run "devenv up &" + + # Execute the tests. + nix-shell --run "runghc $(make print-ghc-extensions) -i. -ibuild -iConfig Test/Main.hs"