2 # Commit of ghc/ci-images repository from which to pull Docker images
3 DOCKER_REV: "853f348f9caf38b08740b280296fbd34e09abb3a"
6 CABAL_INSTALL_VERSION: 3.6.2.0
12 - if: '$CI_PIPELINE_SOURCE == "web"'
24 build-aarch64-linux-deb10:
28 image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"
30 TARBALL_ARCHIVE_SUFFIX: aarch64-linux-deb10
34 build-armv7-linux-deb10:
38 image: "registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"
40 TARBALL_ARCHIVE_SUFFIX: armv7-linux-deb1
43 # temp, because 3.6.2.0 is broken
44 CABAL_INSTALL_VERSION: 3.4.0.0
51 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
53 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-deb10
55 ADD_CABAL_ARGS: "--enable-split-sections"
57 build-x86_64-linux-alpine:
63 - sudo apk add --no-cache zlib zlib-dev zlib-static
64 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"
66 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-alpine
68 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
70 build-i386-linux-alpine:
74 image: "i386/alpine:3.12"
77 - apk add --no-cache bash curl gcc g++ binutils binutils-gold bsd-compat-headers gmp-dev ncurses-dev libffi-dev make xz tar perl
79 - apk add --no-cache zlib zlib-dev zlib-static
81 TARBALL_ARCHIVE_SUFFIX: i386-linux-alpine
83 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
84 # temp, because 3.6.2.0 is broken
85 CABAL_INSTALL_VERSION: 3.4.0.0
87 build-x86_64-freebsd13:
92 TARBALL_ARCHIVE_SUFFIX: x86_64-freebsd13
94 ADD_CABAL_ARGS: "--enable-split-sections"
96 build-x86_64-freebsd12:
101 TARBALL_ARCHIVE_SUFFIX: x86_64-freebsd12
103 ADD_CABAL_ARGS: "--enable-split-sections"
110 TARBALL_ARCHIVE_SUFFIX: x86_64-darwin
114 build-aarch64-darwin:
119 function runInNixShell() {
120 time nix-shell $CI_PROJECT_DIR/.gitlab/shell.nix \
121 -I nixpkgs=https://github.com/angerman/nixpkgs/archive/75f7281738b.tar.gz \
122 --argstr system "aarch64-darwin" \
124 --keep CI_PROJECT_DIR \
125 --keep MACOSX_DEPLOYMENT_TARGET \
127 --keep CABAL_INSTALL_VERSION \
128 --keep TARBALL_ARCHIVE_SUFFIX \
130 --keep ADD_CABAL_ARGS \
133 runInNixShell "./.gitlab/ci.sh" 2>&1
135 MACOSX_DEPLOYMENT_TARGET: "10.7"
136 TARBALL_ARCHIVE_SUFFIX: aarch64-darwin
144 build-x86_64-windows:
147 - Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $false, $true, $true, $false, $false, $false, $false, "$CI_PROJECT_DIR"
148 - ./ghcup/msys64/usr/bin/bash '-lc' 'pacman --noconfirm -S zip'
149 - $env:CHERE_INVOKING = "yes"
150 - ./ghcup/msys64/usr/bin/bash '-lc' "TARBALL_ARCHIVE_SUFFIX=$env:TARBALL_ARCHIVE_SUFFIX TARBALL_EXT=$env:TARBALL_EXT ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
152 - "[Environment]::SetEnvironmentVariable('GHCUP_INSTALL_BASE_PREFIX', $null, [System.EnvironmentVariableTarget]::User)"
153 - "[Environment]::SetEnvironmentVariable('GHCUP_MSYS2', $null, [System.EnvironmentVariableTarget]::User)"
154 - "[Environment]::SetEnvironmentVariable('CABAL_DIR', $null, [System.EnvironmentVariableTarget]::User)"
158 TARBALL_ARCHIVE_SUFFIX: x86_64-windows