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 :
2021-05-28 05:28:09 +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"
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
name : Setup Haskell Stack
with :
ghc-version : ${{ matrix.ghc }}
2023-01-25 21:52:16 +03:00
stack-version : "2.9.3"
2021-05-28 03:39:14 +03:00
enable-stack : true
2020-07-15 02:15:03 +03:00
- uses : actions/cache@v1
name : Cache ~/.stack
with :
path : ~/.stack
key : ${{ runner.os }}-${{ matrix.ghc }}-stack
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
stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks
- name : Test
run : |
cd sandwich
stack test --system-ghc