summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yaml
blob: d8b51096729f288a97eb9ba5ed8c23d8a7ae8ac6 (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@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6

      - name: Install Nix
        uses: DeterminateSystems/nix-installer-action@7993355175c2765e5733dae74f3e0786fe0e5c4f # v12

      - 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