diff --git a/.github/actions/stack-test/action.yml b/.github/actions/stack-test/action.yml new file mode 100644 index 0000000..bc6e650 --- /dev/null +++ b/.github/actions/stack-test/action.yml @@ -0,0 +1,22 @@ +name: stack test +description: Build and test with stack +runs: + using: composite + steps: + - uses: haskell/ghcup-setup@v1 + id: ghcup + with: + stack-hook: true + - uses: actions/cache@v4 + with: + path: | + ${{ steps.ghcup.outputs.basedir }} + ~/.stack + key: stack-${{ runner.os }}-${{ hashFiles('stack.yaml') }} + restore-keys: | + stack-${{ runner.os }}- + ${{ runner.os }}- + - run: ghcup install stack + shell: bash + - run: stack test + shell: bash diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e702717..11d6768 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,11 @@ concurrency: cancel-in-progress: true jobs: stack-test: - uses: ./.github/workflows/stack-test.yml + name: stack test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: ./.github/actions/stack-test flake-check: name: flake check and push diff --git a/.github/workflows/cache-warmup.yaml b/.github/workflows/cache-warmup.yaml index 625cba4..88b7607 100644 --- a/.github/workflows/cache-warmup.yaml +++ b/.github/workflows/cache-warmup.yaml @@ -6,4 +6,8 @@ on: workflow_dispatch: jobs: stack-test: - uses: ./.github/workflows/stack-test.yml + name: stack test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: ./.github/actions/stack-test diff --git a/.github/workflows/stack-test.yml b/.github/workflows/stack-test.yml deleted file mode 100644 index bab0438..0000000 --- a/.github/workflows/stack-test.yml +++ /dev/null @@ -1,25 +0,0 @@ -# Reusable workflow used by the others. Not called directly usually. -name: stack test -on: - workflow_call: -jobs: - stack-test: - name: stack test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: haskell/ghcup-setup@v1 - id: ghcup - with: - stack-hook: true - - uses: actions/cache@v4 - with: - path: | - ${{ steps.ghcup.outputs.basedir }} - ~/.stack - key: stack-${{ runner.os }}-${{ hashFiles('stack.yaml') }} - restore-keys: | - stack-${{ runner.os }}- - ${{ runner.os }}- - - run: ghcup install stack - - run: stack test