Bump actions/cache from 5.0.1 to 5.0.2 #754
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test | |
| on: | |
| pull_request: | |
| branches: | |
| - '**' | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cabal: ['head', '3.16.0.0', '3.14.1.0'] | |
| ghc: ['9.12.2', '9.10.2', '9.8.4', '9.6.7'] | |
| os: [ubuntu-latest, macOS-latest, windows-latest] | |
| exclude: | |
| # Reduce the number of jobs for cabal HEAD, macos is likely redundant | |
| - cabal: 'head' | |
| os: macOS-latest | |
| # Make sure we test 3.16 series with recent GHC versions. | |
| # In theory, we want to test with all GHC versions, but it is just | |
| # too many jobs. | |
| - cabal: '3.16.0.0' | |
| ghc: '9.8.4' | |
| - cabal: '3.16.0.0' | |
| ghc: '9.6.7' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - id: extra-ghc | |
| uses: haskell-actions/setup@v2 | |
| with: | |
| cabal-version: ${{ matrix.cabal }} | |
| ghc-version: '9.4.8' # This needs to be in-sync with 'extraGhcVersion' | |
| - uses: haskell-actions/setup@v2 | |
| with: | |
| ghc-version: ${{ matrix.ghc }} | |
| cabal-version: ${{ matrix.cabal }} | |
| enable-stack: true | |
| - name: Print extra ghc version | |
| # Needs to be in sync with 'extraGhcVersion' | |
| run: ghc-9.4.8 --version | |
| - name: Print normal ghc version | |
| run: ghc --version | |
| - name: Instruct stack to use system ghc if possible | |
| run: stack config set system-ghc --global true | |
| - name: Cache Cabal | |
| uses: actions/[email protected] | |
| with: | |
| path: | | |
| ~/.cabal/packages | |
| ~/.cabal/store | |
| dist-newstyle | |
| key: ${{ runner.os }}-${{ matrix.cabal }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal', '**/cabal.project', '**/cabal.project.freeze') }} | |
| restore-keys: ${{ runner.os }}-${{ matrix.ghc }}- | |
| - run: cabal update | |
| - name: Build | |
| run: cabal build | |
| - name: Test Parser | |
| run: cabal test parser-tests --test-show-details=direct | |
| - name: Test Bios | |
| # Run all tests in the project | |
| run: cabal test bios-tests --test-show-details=direct --test-options="--ignore-tool-deps --debug" | |
| sdist: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: haskell-actions/setup@v2 | |
| - name: Check | |
| run: cabal check | |
| - name: Generate sdist | |
| run: cabal sdist | |
| - uses: actions/upload-artifact@v6 | |
| with: | |
| name: 'sdist' | |
| path: dist-newstyle/sdist/hie-bios*.tar.gz | |
| shellcheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ludeeus/action-shellcheck@master | |
| with: | |
| ignore_paths: tests | |
| windows-wrapper: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: haskell-actions/setup@v2 | |
| with: | |
| ghc-version: ${{ matrix.ghc }} | |
| - name: Compile Windows wrapper | |
| run: ghc -hide-all-packages -package base -package directory -package process -Wall -Werror wrappers/cabal.hs -o CabalWrapper | |
| - name: Compile `--with-repl` Windows wrapper | |
| run: ghc -hide-all-packages -package base -package directory -package process -Wall -Werror wrappers/cabal-with-repl.hs -o CabalWithReplWrapper |