-
Notifications
You must be signed in to change notification settings - Fork 725
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
119 lines (111 loc) · 2.62 KB
/
.gitlab-ci.yml
File metadata and controls
119 lines (111 loc) · 2.62 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
stages:
- build
variables:
# Commit of ghc/ci-images repository from which to pull Docker images
DOCKER_REV: "be4ac2cd18f38e63b263e2a27c76a7c279385796"
GHC_VERSION: 9.10.2
CABAL_INSTALL_VERSION: 3.14.2.0
workflow:
rules:
- if: $CI_COMMIT_TAG
when: always
# Triggered if you start it from the gitlab web ui
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- when: never
.build:
stage: build
script:
- bash .gitlab/ci.sh
artifacts:
expire_in: 2 week
paths:
- out/*
linux:
extends: .build
parallel:
matrix:
- ARCH: i386
TAG: x86_64-linux
OS:
- deb10
- ARCH: x86_64
TAG: x86_64-linux
OS:
- deb10
- deb11
- deb12
- fedora33
- fedora36
- fedora38
- rocky8
- ubuntu20_04
- ubuntu22_04
- ubuntu24_04
- ARCH: aarch64
TAG: aarch64-linux
OS:
- deb10
- deb11
- deb12
tags:
- $TAG
image: "registry.gitlab.haskell.org/ghc/ci-images/$PLATFORM:$DOCKER_REV"
variables:
PLATFORM: "${ARCH}-linux-${OS}"
TARBALL_ARCHIVE_SUFFIX: $PLATFORM
TARBALL_EXT: tar.xz
ADD_CABAL_ARGS: "--enable-split-sections"
alpine-linux:
extends: .build
parallel:
matrix:
- ARCH: [x86_64]
OS: [alpine3_12, alpine3_22]
TAG: x86_64-linux
- ARCH: [i386]
OS: alpine3_22
TAG: x86_64-linux
- ARCH: [aarch64]
OS: [alpine3_22]
TAG: aarch64-linux
tags:
- $TAG
before_script:
# for cabal build
- sudo apk add --no-cache zlib zlib-dev zlib-static
image: "registry.gitlab.haskell.org/ghc/ci-images/$PLATFORM:$DOCKER_REV"
variables:
PLATFORM: "${ARCH}-linux-${OS}"
TARBALL_ARCHIVE_SUFFIX: $PLATFORM
TARBALL_EXT: tar.xz
ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
darwin:
extends: .build
parallel:
matrix:
# Help me with names pls
- ARCH: x86_64
ARCHARCH: x86_64
- ARCH: aarch64
ARCHARCH: arm64
tags:
- ${ARCH}-darwin-m1
variables:
TARBALL_ARCHIVE_SUFFIX: ${ARCH}-darwin
TARBALL_EXT: tar.xz
ADD_CABAL_ARGS: ""
script:
- arch -${ARCHARCH} /bin/bash .gitlab/ci.sh
x86_64-windows:
extends: .build
script:
- $env:CHERE_INVOKING = "yes"
- bash '-lc' "ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
tags:
- new-x86_64-windows
variables:
TARBALL_ARCHIVE_SUFFIX: x86_64-windows
TARBALL_EXT: zip
ADD_CABAL_ARGS: ""
retry: 2