Find build-tool installed programs before programs in path (backport #9762) #9106
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 | |
buildinfo: | |
name: Check Field Syntax Reference | |
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-buildinfo-doc-diff | |
# 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: Are buildinfo docs up to date? | |
run: make doc/buildinfo-fields-reference.rst | |