Skip to content

improve implicit cradle #555

improve implicit cradle

improve implicit cradle #555

Workflow file for this run

name: Build and Test
on:
pull_request:
branches:
- '**'
push:
branches:
- master
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ghc: ['9.8.1', '9.6.3', '9.4.7', '9.2.8', '9.0.2', '8.10.7']
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- id: extra-ghc
uses: haskell/actions/setup@v2
with:
cabal-version: '3.10.2.0'
ghc-version: '8.10.7'
- uses: haskell/actions/setup@v2
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: '3.10.2.0'
enable-stack: true
- name: Print extra ghc version
run: ghc-8.10.7 --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.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"
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: haskell/actions/setup@v2
- name: Check
run: cabal check
- name: Generate sdist
run: cabal sdist
- uses: actions/upload-artifact@v3
with:
name: 'sdist'
path: dist-newstyle/sdist/hie-bios*.tar.gz
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ludeeus/action-shellcheck@master
with:
ignore: tests
windows-wrapper:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- 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