diff --git a/.forgejo/workflows/test.yaml b/.forgejo/workflows/test.yaml index b1b3a9d..959167f 100644 --- a/.forgejo/workflows/test.yaml +++ b/.forgejo/workflows/test.yaml @@ -12,21 +12,33 @@ jobs: build: runs-on: docker container: - image: haskell:9.10 # Official Haskell image with GHC 9.10 + Cabal preinstalled + image: fpco/stack-build:lts-24.11 steps: + - name: Install Node.js (for actions) + run: | + curl -fsSL https://deb.nodesource.com/setup_18.x | bash - + apt-get install -y nodejs + - name: Checkout code - uses: actions/checkout@v4 + uses: https://github.com/actions/checkout@v4 - name: Check versions run: | ghc --version cabal --version + stack --version + node --version - # Manual caching with volumes (act-friendly) - - name: Cache Cabal store - run: | - mkdir -p ~/.cabal/packages ~/.cabal/store - cabal update + - name: Cache Cabal packages + uses: https://github.com/actions/cache@v4 + with: + path: | + ~/.cabal/packages + ~/.cabal/store + dist-newstyle + key: ${{ runner.os }}-stackage-lts22-cabal-${{ hashFiles('**/*.cabal', '**/cabal.project') }} + restore-keys: | + ${{ runner.os }}-stackage-lts22-cabal- - name: Update Cabal package index run: cabal update