diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2022-09-27 09:32:51 -0700 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2022-09-27 09:34:57 -0700 |
| commit | e6db2780613ccc102bd14f455463455c8fc3767d (patch) | |
| tree | 381fd7b5ecf67f4e1aa94fbe052fd2380f866fe1 /.github/workflows/ci.yml | |
| parent | e92f1a5ecf374473447fdac7e5961845346df4ad (diff) | |
Split benchmarks out of CI into separate action.
The benchmark action is only run on manual dispatch.
Rationale: this action dramatically slows down CI.
It is nice to run benchmarks, but we don't need them all the time.
We add (non-optimized) testing of benchmark compilation to one of
the CI builds.
Diffstat (limited to '.github/workflows/ci.yml')
| -rw-r--r-- | .github/workflows/ci.yml | 52 |
1 files changed, 1 insertions, 51 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6cf2d2226..5ab6ecd04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: testopts: '--test-option=--hide-successes --test-option=--ansi-tricks=false' - ghc: '8.8.4' cabal: '3.2' - cabalopts: '-f-server' + cabalopts: '-f-server --enable-benchmarks' testopts: '--test-option=--hide-successes --test-option=--ansi-tricks=false' - ghc: '8.10.7' cabal: '3.2' @@ -191,53 +191,3 @@ jobs: ! grep -q ": *[Ww]arning:" build.log || exit 1 cabal v2-test --disable-optimization --test-option=--hide-successes --test-option=--ansi-tricks=false - benchmark: - - runs-on: ubuntu-18.04 - strategy: - fail-fast: true - matrix: - versions: - - ghc: '8.10.7' - cabal: '3.2' - - ghc: '9.2.2' - cabal: '3.6' - steps: - - uses: actions/checkout@v3 - - - 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@v3 - with: - path: | - ~/.cabal - key: benchmark-${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-global-${{ secrets.CACHE_VERSION }} - - - name: Cache cabal work - id: cabal-local - uses: actions/cache@v3 - with: - path: | - dist-newstyle - key: benchmark-${{ runner.os }}-${{ matrix.versions.ghc }}-${{ matrix.versions.cabal }}-cabal-local-${{ secrets.CACHE_VERSION }} - - - name: Install dependencies - run: | - v2=$([ "${{ matrix.versions.cabal }}" = "2.2" ] && printf 'new' || printf 'v2') - cabal $v2-update - cabal $v2-build --dependencies-only --enable-optimization=1 --enable-benchmarks --disable-tests - - - name: Build and test - run: | - v2=$([ "${{ matrix.versions.cabal }}" = "2.2" ] && printf 'new' || printf 'v2') - cabal $v2-build --enable-optimization=1 --enable-benchmarks --disable-tests 2>&1 | tee build.log - # fail if warnings in local build - ! grep -q ": *[Ww]arning:" build.log || exit 1 - cabal $v2-bench --enable-optimization=1 --benchmark-options='--timeout=6 +RTS -T -RTS' |
