2020-07-15 04:06:12 +03:00
name : sandwich
2020-07-15 02:15:03 +03:00
on :
pull_request :
push :
jobs :
cabal :
name : ${{ matrix.os }} / ghc ${{ matrix.ghc }}
runs-on : ${{ matrix.os }}
strategy :
2021-04-26 01:08:00 +03:00
fail-fast : false
2020-07-15 02:15:03 +03:00
matrix :
2022-09-29 03:55:40 +03:00
os : [ ubuntu-latest, macOS-latest, windows-latest]
2020-07-15 02:15:03 +03:00
ghc :
2023-03-16 09:54:11 +03:00
- "8.6.5"
- "8.8.4"
- "8.10.7"
- "9.0.2"
- "9.2.7"
2023-06-08 00:36:38 +03:00
- "9.4.5"
2023-06-08 01:10:49 +03:00
- "9.6.2"
2023-03-16 09:54:11 +03:00
exclude :
# ghc-9.4.4.exe: C:\sr\ghc-9.4.4\hashable-1.4.2.0-caea75de59bac447a2475c023cb3e922a3a24348\lib\libHShashable-1.4.2.0-caea75de59bac447a2475c023cb3e922a3a24348.a(#7:LowLevel.o): Not a x86_64 PE+ file.
# ghc-9.4.4.exe: Unknown COFF 4 type in getHeaderInfo.
- os : windows-latest
ghc : 9.4 .4
2020-07-15 02:15:03 +03:00
2023-03-29 15:18:11 +03:00
# Access violation in generated code when executing data at 0x6d88
- os : windows-latest
ghc : 8.8 .4
2020-07-15 02:15:03 +03:00
steps :
- uses : actions/checkout@v2
if : github.event.action == 'opened' || github.event.action == 'synchronize' || github.event.ref == 'refs/heads/master'
2023-06-08 06:39:40 +03:00
- uses : haskell/actions/setup@v2
2020-07-15 02:15:03 +03:00
id : setup-haskell-cabal
name : Setup Haskell
with :
ghc-version : ${{ matrix.ghc }}
2021-05-28 04:54:55 +03:00
cabal-version : "latest"
2020-07-15 02:15:03 +03:00
- name : Freeze
run : |
cd sandwich
cabal freeze
- uses : actions/cache@v1
name : Cache ~/.cabal/store
with :
path : ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key : ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
- name : Build
run : |
cd sandwich
cabal configure --enable-tests --enable-benchmarks --test-show-details=direct
cabal build all
- name : Test
run : |
cd sandwich
cabal test all
stack :
name : stack / ghc ${{ matrix.ghc }}
runs-on : ubuntu-latest
strategy :
2021-04-26 01:08:00 +03:00
fail-fast : false
2020-07-15 02:15:03 +03:00
matrix :
2023-06-23 07:04:14 +03:00
include :
- ghc : "8.6.5"
resolver : "lts-14.27"
- ghc : "8.8.4"
resolver : "lts-16.31"
- ghc : "8.10.7"
resolver : "lts-18.28"
- ghc : "9.0.2"
resolver : "lts-19.33"
- ghc : "9.2.8"
resolver : "lts-20.26"
2023-09-10 09:36:22 +03:00
- ghc : "9.4.6"
resolver : "lts-21.11"
2020-07-15 02:15:03 +03:00
steps :
2023-06-23 07:04:14 +03:00
- uses : actions/checkout@v3
2020-07-15 02:15:03 +03:00
2023-06-08 06:39:40 +03:00
- uses : haskell/actions/setup@v2
2020-07-15 02:15:03 +03:00
name : Setup Haskell Stack
with :
ghc-version : ${{ matrix.ghc }}
2021-05-28 03:39:14 +03:00
enable-stack : true
2023-06-23 07:04:14 +03:00
stack-version : "latest"
2020-07-15 02:15:03 +03:00
- uses : actions/cache@v1
name : Cache ~/.stack
with :
path : ~/.stack
2023-06-23 07:04:14 +03:00
key : ${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.resolver }}-stack
2020-07-15 02:15:03 +03:00
2021-05-28 09:12:55 +03:00
- name : apt
run : |
2021-05-28 09:16:02 +03:00
sudo apt-get update
sudo apt-get install -y libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxss-dev
2021-05-28 09:12:55 +03:00
2020-07-15 02:15:03 +03:00
- name : Build
run : |
cd sandwich
2023-06-23 07:04:14 +03:00
stack build --resolver ${{matrix.resolver}} --system-ghc --test --bench --no-run-tests --no-run-benchmarks
2020-07-15 02:15:03 +03:00
- name : Test
run : |
cd sandwich
2023-06-23 07:04:14 +03:00
stack test --resolver ${{matrix.resolver}} --system-ghc