Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ghc-9.2 and ghc-9.10.2 support #765

ghc-9.2 and ghc-9.10.2 support

ghc-9.2 and ghc-9.10.2 support #765

Workflow file for this run

name: Haskell CI
on:
pull_request:
merge_group:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
ghc: ["9.6.6", "9.8", "9.10", "9.12"]
os: [ubuntu-latest, macos-latest, windows-latest]
defaults:
run:
shell: 'bash'
steps:
- name: Set cache version
run: echo "CACHE_VERSION=pu4Aevoo_v1" >> $GITHUB_ENV
- name: "Setup Haskell"
uses: haskell-actions/setup@v2
id: setup-haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: "3.14.2.0"
- name: Install LLVM (macOS)
if: runner.os == 'macOS' && matrix.ghc == '8.10'
run: |
brew install llvm@14
echo "LLVM_CONFIG=$(brew --prefix llvm@14)/bin/llvm-config" >> $GITHUB_ENV
echo "$(brew --prefix llvm@14)/bin" >> $GITHUB_PATH
- name: Verify LLVM installation
if: runner.os == 'macOS' && matrix.ghc == '8.10'
run: |
llvm-config --version
opt --version
- name: Print environment variables
if: runner.os == 'macOS' && matrix.ghc == '8.10'
run: |
echo "PATH = $PATH"
echo "LLVM_CONFIG = $LLVM_CONFIG"
- uses: actions/checkout@v4
- name: "Configure cabal.project.local"
run: |
cat ./.github/workflows/cabal.project.local > ./cabal.project.local
cat ./cabal.project.local
- name: "Cabal update"
run: cabal update
- name: Record dependencies
id: record-deps
run: |
cabal build all --dry-run
cat dist-newstyle/cache/plan.json | jq -r '."install-plan"[].id' | sort | uniq > dependencies.txt
echo "weeknum=$(/bin/date -u "+%W")" >> $GITHUB_OUTPUT
- uses: actions/cache/restore@v4
name: "Restore cabal store"
with:
path: ${{ runner.os == 'Windows' && steps.win-setup-haskell.outputs.cabal-store || steps.setup-haskell.outputs.cabal-store }}
key: cache-dependencies-${{ env.CACHE_VERSION }}-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('dependencies.txt') }}
restore-keys: cache-dependencies-${{ env.CACHE_VERSION }}-${{ runner.os }}-${{ matrix.ghc }}
enableCrossOsArchive: true
- uses: actions/cache@v4
name: "Cache `dist-newstyle`"
with:
path: |
dist-newstyle
!dist-newstyle/**/.git
key: cache-dist-${{ env.CACHE_VERSION }}-${{ runner.os }}-${{ matrix.ghc }}-${{ steps.record-deps.outputs.weeknum }}
restore-keys: cache-dist-${{ env.CACHE_VERSION }}-${{ runner.os }}-${{ matrix.ghc }}
enableCrossOsArchive: true
- name: Build dependencies
run: |
cabal build --only-dependencies all
- uses: actions/cache/save@v4
name: "Save cabal store"
with:
path: ${{ runner.os == 'Windows' && steps.win-setup-haskell.outputs.cabal-store || steps.setup-haskell.outputs.cabal-store }}
key: cache-dependencies-${{ env.CACHE_VERSION }}-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('dependencies.txt') }}
enableCrossOsArchive: true
- name: Build projects [build]
run: cabal build all
- name: Build documentation [haddock]
run: cabal haddock all
- name: io-sim [test]
run: cabal run io-sim:test
- name: io-classes:si-timers [test]
run: cabal run io-classes:test-si-timers
- name: io-classes:strict-mvar [test]
run: cabal run io-classes:test-strict-mvar
Morty Proxy This is a proxified and sanitized view of the page, visit original site.