Allow per-component builds with coverage enabled #7691
Workflow file for this run
This file contains 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: Quick jobs | |
# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency. | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
release: | |
types: | |
- created | |
jobs: | |
meta: | |
name: Meta checks | |
runs-on: ubuntu-latest | |
# This job is not run in a container, any recent GHC should be fine | |
steps: | |
- name: Set PATH | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path | |
run: | | |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cabal/store | |
key: linux-store-meta | |
# See https://github.com/haskell/cabal/pull/8739 | |
- name: Sudo chmod to permit ghcup to update its cache | |
run: | | |
if [[ "${{ runner.os }}" == "Linux" ]]; then | |
sudo ls -lah /usr/local/.ghcup/cache | |
sudo mkdir -p /usr/local/.ghcup/cache | |
sudo ls -lah /usr/local/.ghcup/cache | |
sudo chown -R $USER /usr/local/.ghcup | |
sudo chmod -R 777 /usr/local/.ghcup | |
fi | |
- name: ghcup | |
run: | | |
ghcup --version | |
ghcup config set cache true | |
ghcup install ghc recommended | |
ghcup set ghc recommended | |
- name: Update Hackage index | |
run: cabal v2-update | |
- name: Install alex | |
run: cabal v2-install alex --constraint='alex ==3.2.7.3' | |
- uses: actions/checkout@v4 | |
- name: Regenerate files | |
run: | | |
make -B lexer | |
make -B spdx | |
make -B templates | |
- name: Check that diff is clean | |
run: | | |
git status > /dev/null | |
git diff-files -p --exit-code | |
doctest: | |
name: Doctest Cabal | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set PATH | |
run: | | |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.cabal/store | |
key: linux-store-doctest | |
# See https://github.com/haskell/cabal/pull/8739 | |
- name: Sudo chmod to permit ghcup to update its cache | |
run: | | |
if [[ "${{ runner.os }}" == "Linux" ]]; then | |
sudo ls -lah /usr/local/.ghcup/cache | |
sudo mkdir -p /usr/local/.ghcup/cache | |
sudo ls -lah /usr/local/.ghcup/cache | |
sudo chown -R $USER /usr/local/.ghcup | |
sudo chmod -R 777 /usr/local/.ghcup | |
fi | |
- name: ghcup | |
run: | | |
ghcup --version | |
ghcup config set cache true | |
ghcup install ghc --set recommended | |
ghcup install cabal --set latest | |
- name: Update Hackage index | |
run: cabal v2-update | |
- uses: actions/checkout@v4 | |
- name: Install doctest | |
run: make doctest-install | |
- name: Doctest | |
run: make doctest |