Revival/2025: Part 2 #8
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: CI — Linux build & test | |
| on: | |
| push: | |
| branches: [main, master, revivals/**, "**"] | |
| pull_request: | |
| # Avoid duplicate runs on the same ref | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| name: build & test (ghc ${{ matrix.ghc }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ghc: ["9.6.7"] | |
| # When deps allow, expand: | |
| # ghc: ["9.6.7", "9.10.3", "9.12.2"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install system deps (X11 etc.) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential pkg-config \ | |
| libx11-dev libxrandr-dev libxinerama-dev libxext-dev libxss-dev | |
| - name: Set up Haskell (GHC+Cabal) | |
| id: setup-hs | |
| uses: haskell-actions/setup@v2 | |
| with: | |
| ghc-version: ${{ matrix.ghc }} | |
| cabal-version: latest | |
| - name: Cache Cabal store | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ steps.setup-hs.outputs.cabal-store }} | |
| key: ${{ runner.os }}-cabal-${{ steps.setup-hs.outputs.ghc-version }}-${{ hashFiles('**/*.cabal', 'cabal.project*') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cabal-${{ steps.setup-hs.outputs.ghc-version }}- | |
| ${{ runner.os }}-cabal- | |
| - name: Show tool versions | |
| run: | | |
| ghc --version | |
| cabal --version | |
| - name: Freeze solver plan (optional, keeps logs useful) | |
| run: cabal build all --dry-run | |
| - name: Build | |
| run: cabal build all --enable-tests --enable-benchmarks | |
| - name: Test | |
| run: cabal test --test-show-details=direct --keep-going | |
| - name: cabal check (packaging sanity) | |
| run: cabal check |