A CLI tool that retrieves the tested-with
stanza of a cabal file and formats
it in such a way that GitHub Actions can use it.
The inputs of the action (under the with:
stanza) are the following:
-
cabal-file:
The path to your cabal file, e.g. somefolder/myproject.cabal.
Required: true -
version:
The version of the get-tested tool that is used.
Required: false
Default: The latest release -
windows:
(deprecated) Enable Windows runner, latest version.
Required: false
Default: false -
windows-version:
Enable Windows runner. If bothwindows
andwindows-version
inputs are set, the explicit version will take priority.
Required: false
Default: Not set -
macos:
(deprecated) Enable macOS runner, latest version.
Required: false
Default: false -
macos-version:
Enable macOS runner. If bothmacos
andmacos-version
inputs are set, the explicit version will take priority.
Required: false
Default: Not set -
ubuntu:
(deprecated) Enable Ubuntu runner, latest version.
Required: false
Default: false -
ubuntu-version:
Enable Ubuntu runner. If bothubuntu
andubuntu-version
inputs are set, the explicit version will take priority.
Required: false
Default: Not set -
newest:
Enable only the newest GHC version found in the cabal file
Required: false
Default: false -
oldest:
Enable only the oldest GHC version found in the cabal file
Required: false
Default: false
See below for an example:
jobs:
generate-matrix:
name: "Generate matrix from cabal"
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
runs-on: ubuntu-latest
steps:
- name: Extract the tested GHC versions
id: set-matrix
uses: kleidukos/[email protected]
with:
cabal-file: get-tested.cabal
ubuntu-version: "latest"
macos-version: "latest"
version: 0.1.7.1
tests:
name: ${{ matrix.ghc }} on ${{ matrix.os }}
needs: generate-matrix
runs-on: ${{ matrix.os }}
strategy:
matrix: ${{ fromJSON(needs.generate-matrix.outputs.matrix) }}