-
Notifications
You must be signed in to change notification settings - Fork 47
61 lines (61 loc) · 3 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: build
on:
pull_request:
push:
schedule:
- cron: 35 8 3 * *
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- { os: macOS-13, stack: lts-15.3, stack-extra-deps: "bytestring-0.11.3.0, file-io-0.1.4, filepath-1.4.100.0, unix-2.8.0.0" }
- { os: macos-latest, stack: lts-22.7, stack-extra-deps: "bytestring-0.11.5.3, file-io-0.1.4, filepath-1.5.2.0, os-string-2.0.2, unix-2.8.5.1", stack-package-flags: "{directory: {os-string: true}, file-io: {os-string: true}, unix: {os-string: true}}", ghc-flags: -Werror=deprecations }
- { os: ubuntu-latest, ghc: 8.10.7, cabal: 3.8.1.0 }
- { os: ubuntu-latest, ghc: 9.0.2, cabal: 3.8.1.0 }
- { os: ubuntu-latest, ghc: 9.2.4, cabal: 3.8.1.0 }
- { os: ubuntu-latest, ghc: 9.4.3, cabal: 3.8.1.0 }
- { os: ubuntu-latest, ghc: latest, cabal: latest, cabal-package-flags: +os-string, ghc-flags: -Werror=deprecations }
- { os: windows-latest, stack: lts-15.3, stack-extra-deps: "bytestring-0.11.3.0, file-io-0.1.4, filepath-1.4.100.0, time-1.9.3, Win32-2.13.3.0", overrides: "before_prepare() { sed -i.bak -e /CreateSymbolicLinkW/d -e /GetFinalPathNameByHandleW/d configure.ac; }" }
- { os: windows-latest, stack: lts-17.5, stack-extra-deps: "bytestring-0.11.3.0, file-io-0.1.4, filepath-1.4.100.0, time-1.9.3, Win32-2.13.3.0" }
- { os: windows-latest, stack: lts-22.7, stack-extra-deps: "bytestring-0.11.5.3, file-io-0.1.4, filepath-1.5.2.0, os-string-2.0.2, time-1.14, Win32-2.14.0.0", stack-package-flags: "{directory: {os-string: true}, file-io: {os-string: true}, Win32: {os-string: true}}", ghc-flags: -Werror=deprecations }
runs-on: ${{ matrix.os }}
env:
CABAL_PACKAGE_FLAGS: ${{ matrix.cabal-package-flags }}
GHC_FLAGS: ${{ matrix.ghc-flags }}
TESTSCRIPT_OVERRIDES: ${{ matrix.overrides }}
STACK_EXTRA_DEPS: ${{ matrix.stack-extra-deps }}
STACK_PACKAGE_FLAGS: ${{ matrix.stack-package-flags }}
STACK_RESOLVER: ${{ matrix.stack }}
steps:
- if: startsWith(matrix.os, 'macos-')
run: brew install automake
- if: startsWith(matrix.os, 'ubuntu-')
run: |
sudo apt-get update
- if: startsWith(matrix.os, 'windows-')
run: |
echo STACK_FLAGS=--skip-msys >> $GITHUB_ENV
echo 'C:\msys64\usr\bin' >> $GITHUB_PATH
- if: startsWith(matrix.os, 'windows-')
run: |
pacman -S --needed --noconfirm autoconf automake
- uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
enable-stack: ${{ matrix.stack }}
stack-no-global: ${{ matrix.stack }}
- uses: actions/checkout@v3
- run: tools/testscript prepare
- run: tools/testscript build
- if: matrix.cabal
uses: actions/upload-artifact@v3
with:
name: sdist
path: dist-newstyle/sdist/*-*.tar.gz