# Code generated by dhall-to-yaml. DO NOT EDIT. jobs: build: name: "GHC ${{ matrix.ghc }}, Cabal ${{ matrix.cabal }}, OS ${{ matrix.os }}" "runs-on": "${{ matrix.os }}" steps: - uses: "cachix/install-nix-action@v27" with: nix_path: "nixpkgs=channel:nixos-unstable" - uses: "cachix/cachix-action@v15" with: name: "hnix-store" signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}" - uses: "actions/checkout@v4" with: submodules: recursive - id: "setup-haskell-cabal" uses: "haskell-actions/setup@v2" with: "cabal-version": "${{ matrix.cabal }}" "ghc-version": "${{ matrix.ghc }}" - name: Update Hackage repository run: cabal update - name: cabal.project.local.ci run: | if [ -e cabal.project.local.ci ]; then cp cabal.project.local.ci cabal.project.local fi - name: freeze run: "cabal freeze --enable-tests --enable-benchmarks" - uses: "actions/cache@v4" with: key: "${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal}}-${{ hashFiles('cabal.project.freeze') }}" path: | ${{ steps.setup-haskell-cabal.outputs.cabal-store }} dist-newstyle - name: Install dependencies run: "cabal build all --enable-tests --enable-benchmarks --only-dependencies" - name: build all run: "cabal build all --enable-tests --enable-benchmarks" - name: test all run: "cabal test all --enable-tests" - name: Build with Nix run: "nix-build --argstr compiler $(echo ghc${{ matrix.ghc }} | tr -d '.')" strategy: matrix: cabal: - '3.12' ghc: - '9.8.2' - '9.6.6' os: - "ubuntu-latest" - "macos-latest" name: Haskell CI 'on': pull_request: {} push: {}