name: CI on: pull_request: branches: - master push: branches: - master jobs: build: strategy: matrix: os: - macos-10.15 - ubuntu-18.04 - windows-2019 ghc: - 8.8.4 cabal: - 3.2.0.0 include: - os: ubuntu-18.04 ghc: 8.6.5 cabal: 3.2.0.0 - os: ubuntu-18.04 ghc: 8.4.4 cabal: 3.2.0.0 - os: ubuntu-18.04 ghc: 8.2.2 cabal: 3.2.0.0 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - id: setup-haskell uses: actions/setup-haskell@v1 with: ghc-version: ${{ matrix.ghc }} cabal-version: ${{ matrix.cabal }} - run: cabal freeze - run: cat cabal.project.freeze - uses: actions/cache@v2 with: path: ${{ steps.setup-haskell.outputs.cabal-store }} key: ${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-${{ hashFiles('cabal.project.freeze') }} restore-keys: | ${{ matrix.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}- ${{ matrix.os }}-${{ matrix.ghc }}- - run: cabal test --test-show-details direct - run: cabal install --installdir output --install-method copy - run: strip output/brittany* - uses: actions/upload-artifact@v2 with: path: output/brittany* name: brittany-${{ matrix.os }}-ghc-${{ matrix.ghc }}-${{ github.sha }} - run: cabal sdist - if: matrix.os == 'ubuntu-18.04' && matrix.ghc == '8.8.4' uses: actions/upload-artifact@v2 with: path: dist-newstyle/sdist/brittany-*.tar.gz name: brittany-${{ github.sha }}.tar.gz - run: cabal check