Skip to content

Add support for bios multi-cradles #669

Add support for bios multi-cradles

Add support for bios multi-cradles #669

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:
cabal: ['3.14.1.0', '3.10.2.0']
ghc: ['9.12.2', '9.10.1', '9.8.4', '9.6.7', '9.4.8']
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- id: extra-ghc
uses: haskell-actions/setup@v2
with:
cabal-version: ${{ matrix.cabal }}
ghc-version: '9.2.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.2.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@v4
- uses: haskell-actions/setup@v2
- name: Check
run: cabal check
- name: Generate sdist
run: cabal sdist
- uses: actions/upload-artifact@v4
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_paths: 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