diff --git a/.github/workflows/simple.yml b/.github/workflows/simple.yml new file mode 100644 index 00000000..7ce4aef5 --- /dev/null +++ b/.github/workflows/simple.yml @@ -0,0 +1,58 @@ +# Simple CI for non-linux setups +name: Simple +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + native: + name: "Simple: GHC ${{ matrix.ghc }} on ${{ matrix.os }}" + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [macos-latest, windows-latest] + ghc: ['9.2.8'] + fail-fast: false + timeout-minutes: + 60 + steps: + - name: Set git to use LF + run: | + git config --global core.autocrlf false + git config --global core.eol lf + + - name: Set up Haskell + id: setup-haskell + uses: haskell-actions/setup@v2 + with: + ghc-version: ${{ matrix.ghc }} + cabal-version: '3.10.2.0' + + - name: Checkout + uses: actions/checkout@v4 + + - name: Cache + uses: actions/cache@v4 + with: + path: ${{ steps.setup-haskell.outputs.cabal-store }} + key: ${{ runner.os }}-${{ matrix.ghc }}-${{ github.sha }} + restore-keys: ${{ runner.os }}-${{ matrix.ghc }}- + + - name: cabal.project + run: cp cabal.project.ci cabal.project + + - name: ghc-pkg dump + run: ghc-pkg list + + - name: Dependencies + run: cabal build all --enable-tests --only-dependencies + + - name: Build + run: cabal build all --enable-tests + + - name: Test + run: cabal test all --enable-tests --test-show-details=direct