CI: fix YAML error. #7445
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 tests | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| paths-ignore: | |
| - 'doc/*.md' | |
| - 'MANUAL.txt' | |
| - '*.md' | |
| - '.cirrus.yml' | |
| - 'RELEASE_CHECKLIST' | |
| - 'BUGS' | |
| - 'README.template' | |
| - 'hie.yaml' | |
| - '*.nix' | |
| - 'tools/**' | |
| - 'linux/**' | |
| - 'macos/**' | |
| - 'windows/**' | |
| - 'man/**' | |
| pull_request: | |
| paths-ignore: | |
| - 'doc/*.md' | |
| - 'MANUAL.txt' | |
| - '*.md' | |
| - 'RELEASE_CHECKLIST' | |
| - 'BUGS' | |
| - 'README.template' | |
| - 'hie.yaml' | |
| - '*.nix' | |
| - 'tools/**' | |
| - 'linux/**' | |
| - 'macos/**' | |
| - 'windows/**' | |
| - 'man/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| versions: | |
| # NOTE: Update `CONTRIBUTING.md` when changing the minimum version | |
| - ghc: '9.6' | |
| cabal: 'latest' | |
| cabalopts: '--ghc-option=-Werror' | |
| - ghc: '9.8' | |
| cabal: 'latest' | |
| cabalopts: '--ghc-option=-Werror' | |
| - ghc: '9.10' | |
| cabal: 'latest' | |
| cabalopts: '--ghc-option=-Werror' | |
| - ghc: '9.12' | |
| cabal: 'latest' | |
| cabalopts: '--ghc-option=-Werror' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # needed by memory | |
| - name: Install numa | |
| run: sudo apt-get install libnuma-dev | |
| - name: Workaround runner image issue | |
| # https://github.com/actions/runner-images/issues/7061 | |
| run: sudo chown -R $USER /usr/local/.ghcup | |
| - name: Install cabal/ghc | |
| run: | | |
| ghcup install ghc --set ${{ matrix.versions.ghc }} | |
| ghcup install cabal --set ${{ matrix.versions.cabal }} | |
| # declare/restore cached things | |
| - name: Cache cabal global package db | |
| id: cabal-global | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.local/state/cabal | |
| key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ secrets.CACHE_VERSION }} | |
| - name: Cache cabal work | |
| id: cabal-local | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| dist-newstyle | |
| key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local-${{ secrets.CACHE_VERSION }} | |
| - name: Update cabal | |
| run: | | |
| cabal update | |
| - name: Build and test | |
| run: | | |
| cabal build ${{ matrix.versions.cabalopts }} --enable-tests --disable-optimization all | |
| cabal test ${{ matrix.versions.cabalopts }} --disable-optimization all | |
| linux-stack: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # needed by memory | |
| - name: Install numa | |
| run: sudo apt-get install libnuma-dev | |
| # declare/restore cached things | |
| - name: Cache stack global package db | |
| id: stack-global | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.stack | |
| key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-stack-global-${{ secrets.CACHE_VERSION }} | |
| - name: Cache stack work | |
| id: stack-local | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| .stack-work | |
| key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-stack-local-${{ secrets.CACHE_VERSION }} | |
| - name: Build and test | |
| run: | | |
| stack test --fast | |
| nix-wasm: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| steps: | |
| - uses: actions/checkout@v6 | |
| # Remove unneeded cruft in runner so we have room for Nix: | |
| - uses: wimpysworld/nothing-but-nix@v9 | |
| with: | |
| hatchet-protocol: 'rampage' | |
| - uses: cachix/install-nix-action@v31 | |
| with: | |
| nix_path: nixpkgs=channel:nixos-unstable | |
| nix_conf: | | |
| keep-env-derivations = true | |
| keep-outputs = true | |
| - name: Cache cabal work | |
| id: cabal-local | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| dist-newstyle | |
| key: ${{ runner.os }}-nix-cabal-local-${{ secrets.CACHE_VERSION }} | |
| - run: | | |
| nix develop --command bash -c "make pandoc.wasm" | |
| windows: | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install ghc | |
| run: | | |
| ghcup install ghc --set 9.10 | |
| ghcup install cabal --set latest | |
| # declare/restore cached things | |
| - name: Cache cabal global package db | |
| id: cabal-global | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| C:\cabal\store | |
| key: ${{ runner.os }}-appdata-cabal-${{ hashFiles('cabal.project') }}-${{ secrets.CACHE_VERSION }} | |
| - name: Cache cabal work | |
| id: cabal-local | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| dist-newstyle | |
| key: ${{ runner.os }}-stack-work-${{ hashFiles('cabal.project') }}-${{ secrets.CACHE_VERSION }} | |
| - name: Build and test | |
| run: | | |
| cabal update | |
| cabal test --ghc-option=-Werror -fhttp --enable-tests --disable-optimization --ghc-options=-Werror all | |
| # We no longer run the macos tests, to make CI faster. | |
| # macos: | |
| # runs-on: macos-12 | |
| # strategy: | |
| # fail-fast: true | |
| # matrix: | |
| # versions: | |
| # - ghc: '8.8.4' | |
| # cabal: '3.2' | |
| # steps: | |
| # - uses: actions/checkout@v6 | |
| # - name: Install cabal/ghc | |
| # run: | | |
| # ghcup install ghc --set ${{ matrix.versions.ghc }} | |
| # ghcup install cabal ${{ matrix.versions.cabal }} | |
| # # declare/restore cached things | |
| # - name: Cache cabal global package db | |
| # id: cabal-global | |
| # uses: actions/cache@v5 | |
| # with: | |
| # path: | | |
| # ~/.cabal | |
| # key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ secrets.CACHE_VERSION }} | |
| # - name: Cache cabal work | |
| # id: cabal-local | |
| # uses: actions/cache@v5 | |
| # with: | |
| # path: | | |
| # dist-newstyle | |
| # key: ${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local-${{ secrets.CACHE_VERSION }} | |
| # - name: Install dependencies | |
| # run: | | |
| # cabal v2-update | |
| # cabal v2-build --dependencies-only --enable-tests --disable-optimization | |
| # - name: Build and test | |
| # run: | | |
| # cabal v2-build --enable-tests --disable-optimization 2>&1 | tee build.log | |
| # # fail if warnings in local build | |
| # ! grep -q ": *[Ww]arning:" build.log || exit 1 | |
| # cabal v2-test --disable-optimization --test-option=--hide-successes --test-option=--ansi-tricks=false |