4 # Used for ci setup in the gitlab mirror of the project:
5 # https://gitlab.haskell.org/haskell/haskell-language-server/-/pipelines
7 # Commit of ghc/ci-images repository from which to pull Docker images
8 DOCKER_REV: "9e4c540d9e4972a36291dfdf81f079f37d748890"
11 CABAL_INSTALL_VERSION: 3.6.2.0
17 # Triggered if you start it from the gitlab web ui
18 - if: '$CI_PIPELINE_SOURCE == "web"'
31 build-aarch64-linux-deb10:
35 image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"
37 TARBALL_ARCHIVE_SUFFIX: aarch64-linux-deb10
41 build-armv7-linux-deb10:
45 image: "registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"
47 TARBALL_ARCHIVE_SUFFIX: armv7-linux-deb1
50 # temp, because 3.6.2.0 is broken
51 CABAL_INSTALL_VERSION: 3.4.0.0
58 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
60 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-deb10
62 ADD_CABAL_ARGS: "--enable-split-sections"
64 build-x86_64-linux-deb11:
68 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb11:$DOCKER_REV"
70 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-deb11
72 ADD_CABAL_ARGS: "--enable-split-sections"
74 build-x86_64-linux-alpine:
80 - sudo apk add --no-cache zlib zlib-dev zlib-static
81 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"
83 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-alpine
85 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
87 build-i386-linux-alpine:
91 image: "i386/alpine:3.12"
94 - apk add --no-cache bash curl gcc g++ binutils binutils-gold bsd-compat-headers gmp-dev ncurses-dev libffi-dev make xz tar perl
96 - apk add --no-cache zlib zlib-dev zlib-static
98 TARBALL_ARCHIVE_SUFFIX: i386-linux-alpine
100 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
101 # temp, because 3.6.2.0 is broken
102 CABAL_INSTALL_VERSION: 3.4.0.0
104 build-x86_64-freebsd12:
109 TARBALL_ARCHIVE_SUFFIX: x86_64-freebsd12
111 ADD_CABAL_ARGS: "--enable-split-sections"
118 TARBALL_ARCHIVE_SUFFIX: x86_64-darwin
122 build-aarch64-darwin:
127 - export HOMEBREW_CHANGE_ARCH_TO_ARM=1
128 - arch -arm64 /bin/bash ./.gitlab/brew.sh llvm autoconf automake coreutils make tree
129 # C_INCLUDE_PATH: https://gitlab.haskell.org/ghc/ghc/-/issues/20592
131 export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
132 export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
133 export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
135 export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
136 export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
137 export C_INCLUDE_PATH="`xcrun --show-sdk-path`/usr/include/ffi"
138 arch -arm64 /bin/bash ./.gitlab/ci.sh
140 - rm -Rf /private/tmp/.brew_tmp
142 MACOSX_DEPLOYMENT_TARGET: "10.7"
143 TARBALL_ARCHIVE_SUFFIX: aarch64-darwin
151 build-x86_64-windows:
154 - $env:CHERE_INVOKING = "yes"
155 - bash '-lc' "ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
159 TARBALL_ARCHIVE_SUFFIX: x86_64-windows