summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yaml
blob: 9f8254343e22d592c6385138246df0c711502da2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: CI

on:
  push:
    branches: [main]
  pull_request:
  workflow_dispatch:

jobs:
  test-module:
    name: Test module
    runs-on: ubuntu-latest

    permissions:
      contents: read

    steps:
      - name: Checkout repository
        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@ab6bcb2d5af0e904d04aea750e2089e9dc4cbfdd # v13

      - name: Run test script
        run: |
          function catch_error() {
            echo "Job $1 failed!"
            exit 1
          }

          tests=(
            "overmind"
            "overmind-dft"
            "honcho"
          )

          for test in "${tests[@]}"; do
            nix develop ./test#"$test" --command 'run-ci' || catch_error "$test"
            sleep 5 # this is to avoid race conditions with the current proc runner not exiting just yet
          done