Skip to content

Commit e12bed2

Browse files
Implement --matrix-extra for more matrix dimensions
Sometimes you need to test your project along more dimensions than just GHC version. This is particularly important for programs/libraries that use FFI to bind to libraries - they might need to be tested against a range of library versions. In general, you want to test all the combinations of GHC versions and other properties, i.e. the cartesian product. It is burdensome for maintainers that need such a strategy to manually adjust the matrix after every (re)generation of the CI script/spec. Better tool support for this scenario is warranted. This commit implements a new --matrix-extra option, which adds additional matrix dimensions. The option value format is: --matrix-extra libfoo:2.6,3.0;libbar:0.1,0.2 haskell-ci adds all the combinations of GHC version and the --matrix-extra fields to the matrix. Corresponding build/test steps can be introduced via --github-patches (or --travis-patches). This commit implements this feature for GitHub actions only. Additionally, we check and enforce the job limit imposed by GitHub (currently 256 jobs per workflow).
1 parent 8e5a948 commit e12bed2

16 files changed

+3518
-19
lines changed

fixtures/matrix-extra-toomany.args

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
--matrix-extra=abc:1,2,3
2+
--matrix-extra=foo:bar,baz

0 commit comments

Comments
 (0)