Merge pull request #9810 from fgaz/changelog-required-fields #146
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 | |
release-project: | |
name: Check Release Project | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set PATH | |
run: | | |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH | |
- 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: Check Release with Pinned Hackage | |
run: cabal build all --dry-run --project-file=cabal.project.release | |
- name: Check Release with Latest Hackage | |
run: cabal build all --dry-run --project-file=cabal.project.release --index-state="hackage.haskell.org HEAD" | |