-
Notifications
You must be signed in to change notification settings - Fork 11
62 lines (59 loc) · 1.85 KB
/
hello.yml
File metadata and controls
62 lines (59 loc) · 1.85 KB
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
62
name: Test that we can build the hello world example form hackage
on:
push:
branches: [main]
workflow_dispatch:
jobs:
test:
name: "build ${{ matrix.platform }}${{ matrix.target-platform }}-${{ matrix.compiler-nix-name }}${{ matrix.minimal && '-minimal' || '' }}${{ matrix.iog && '-iog' || '' }}"
strategy:
fail-fast: false
matrix:
platform:
- x86_64-linux
- x86_64-darwin
- aarch64-darwin
- aarch64-linux
compiler-nix-name:
- ghc96
- ghc98
- ghc910
- ghc912
target-platform:
- ""
- "-static"
- "-js"
- "-windows"
minimal:
- false
- true
iog:
- false
- true
exclude:
# Windows cross compilation only works on x86_64 right now.
- platform: aarch64-darwin
target-platform: "-windows"
- platform: aarch64-linux
target-platform: "-windows"
# Also broken for darwin.
- platform: x86_64-darwin
target-platform: "-windows"
# It does not makes sense to build minimal image that include IOG extra tooling ...
# ... "-minimal" and "-iog" are mutually exclusive options!
- minimal: true
iog: true
# On darwin the `-js` target require `-minimal` to be set:
- target-platform: "-js"
platform: aarch64-darwin
minimal: false
- target-platform: "-js"
platform: x86_64-darwin
minimal: false
uses: ./.github/workflows/build-and-test.yml
with:
platform: ${{ matrix.platform }}
target-platform: ${{ matrix.target-platform }}
compiler-nix-name: ${{ matrix.compiler-nix-name }}
minimal: ${{ matrix.minimal }}
iog: ${{ matrix.iog }}