Skip to content

Set bounds on all dependencies #107

Set bounds on all dependencies

Set bounds on all dependencies #107

Workflow file for this run

{"jobs":{"build":{"env":{"CONFIG":"--enable-tests --enable-benchmarks ${{ matrix.bounds }}"},"runs-on":"${{ matrix.os }}","steps":[{"uses":"actions/checkout@v4"},{"id":"setup-haskell-cabal","uses":"haskell-actions/setup@v2","with":{"cabal-version":"3.10.2.1","ghc-version":"${{ matrix.ghc }}"}},{"run":"cabal v2-freeze $CONFIG"},{"uses":"actions/cache@v4","with":{"key":"${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}","path":"${{ steps.setup-haskell-cabal.outputs.cabal-store }}\ndist-newstyle\n"}},{"run":"cabal v2-build all $CONFIG"},{"run":"cabal v2-test all $CONFIG"},{"run":"mv dist-newstyle/cache/plan.json plan-${{ runner.os }}-${{ matrix.ghc }}${{ matrix.bounds }}.json"},{"name":"Upload build plan as artifact","uses":"actions/upload-artifact@v4","with":{"name":"plan-${{ runner.os }}-${{ matrix.ghc }}${{ matrix.bounds }}","path":"plan-${{ runner.os }}-${{ matrix.ghc }}${{ matrix.bounds }}.json"}}],"strategy":{"fail-fast":false,"matrix":{"bounds":["--prefer-oldest",""],"ghc":["8.6.1","8.8.1","8.10.1","9.0.1","9.2.1","9.4.1","9.6.1","9.8.1"],"os":["macos-13","ubuntu-22.04","windows-2022"]}}},"check-bounds":{"needs":["build"],"runs-on":"ubuntu-22.04","steps":[{"uses":"actions/checkout@v4"},{"id":"setup-haskell-cabal","uses":"haskell-actions/setup@v2","with":{"cabal-version":"3.10.2.1","ghc-version":"9.6.3"}},{"run":"cabal install cabal-plan-bounds"},{"name":"Load plans","uses":"actions/download-artifact@v4","with":{"merge-multiple":true,"path":"plans","pattern":"plan-*"}},{"run":"find plans/"},{"run":"find . -name '*.cabal' -exec cabal-plan-bounds plans/*.json --cabal {} \\;"},{"run":"git diff **/*.cabal"},{"name":"Fail if .cabal file was changed","run":"git diff-files --quiet **/*.cabal || exit 1"}]}},"name":"CI","on":{"pull_request":{"types":["opened","synchronize"]},"push":{"branches":["main"]}}}