Add dissertation #465
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: CI | |
on: push | |
jobs: | |
ormolu: | |
runs-on: ubuntu-latest | |
name: Ormolu | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: mrkkrp/ormolu-action@v10 | |
cabal: | |
runs-on: ubuntu-latest | |
needs: ormolu | |
strategy: | |
matrix: | |
ghc: ["9.2.7"] | |
name: Cabal with GHC ${{ matrix.ghc }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Haskell | |
id: install-haskell | |
uses: haskell/actions/setup@v2 | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
- name: Add Cabal programs to PATH | |
run: echo "$HOME/.cabal/bin" >> $GITHUB_PATH | |
- name: Install cabal-docspec | |
run: | | |
mkdir -p $HOME/.cabal/bin | |
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20230406/cabal-docspec-0.0.0.20230406-x86_64-linux.xz > cabal-docspec.xz | |
echo '68fa9addd5dc453d533a74a763950499d4593b1297c9a05c3ea5bd1acc04c9dd cabal-docspec.xz' | sha256sum -c - | |
xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec | |
rm -f cabal-docspec.xz | |
chmod a+x $HOME/.cabal/bin/cabal-docspec | |
cabal-docspec --version | |
- name: Install ripgrep | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: ripgrep | |
version: 3.0 | |
- name: Cabal freeze | |
run: cabal freeze | |
- name: Cache Cabal | |
uses: actions/cache@v3 | |
with: | |
path: | | |
${{ steps.install-haskell.outputs.cabal-store }} | |
dist-newstyle | |
key: ${{ runner.os }}-${{ matrix.ghc }}-cabal-${{ hashFiles('cabal.project.freeze') }}" | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.ghc }}-cabal- | |
- name: Install dependencies | |
run: cabal build all --enable-tests --only-dependencies | |
- name: Build | |
run: cabal build all --enable-tests | |
- name: Set test suite package environment | |
run: | | |
echo "LOWARN_PACKAGE_ENV=$(realpath .ghc.environment*)" >> $GITHUB_ENV | |
- name: Run test suite | |
run: cabal test all --enable-tests --test-show-details=streaming | |
- name: Run doctests | |
run: cabal-docspec -X QuasiQuotes | |
stack: | |
runs-on: ubuntu-latest | |
needs: ormolu | |
strategy: | |
matrix: | |
ghc: ["9.2.7"] | |
name: Stack with GHC ${{ matrix.ghc }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Haskell | |
id: install-haskell | |
uses: haskell/actions/setup@v2 | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
enable-stack: true | |
- name: Install ripgrep | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: ripgrep | |
version: 3.0 | |
- name: Cache global Stack | |
uses: actions/cache@v3 | |
with: | |
path: ~/.stack | |
key: ${{ runner.os }}-${{ matrix.ghc }}-global-stack-${{ hashFiles('stack.yaml') }}-${{ hashFiles('**/package.yaml') }}" | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.ghc }}-global-stack-${{ hashFiles('stack.yaml') }}- | |
${{ runner.os }}-${{ matrix.ghc }}-global-stack- | |
- name: Cache local Stack | |
uses: actions/cache@v3 | |
with: | |
path: .stack-work | |
key: ${{ runner.os }}-${{ matrix.ghc }}-local-stack-${{ hashFiles('stack.yaml') }}-${{ hashFiles('**/*.hs') }}" | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.ghc }}-local-stack-${{ hashFiles('stack.yaml') }}- | |
${{ runner.os }}-${{ matrix.ghc }}-local-stack- | |
- name: Install dependencies | |
run: stack build --test --only-dependencies | |
- name: Build | |
run: stack build | |
- name: Run test suite | |
run: stack test | |
- name: Run Haddock | |
run: stack haddock lowarn lowarn-runtime lowarn-cli lowarn-transformer lowarn-inject lowarn-aeson lowarn-arbitrary lowarn-test lowarn-test-types |