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: "4ed1a4f27828ba96a34662dc954335e29b470cd2"
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-alpine:
70 - sudo apk add --no-cache zlib zlib-dev zlib-static
71 image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"
73 TARBALL_ARCHIVE_SUFFIX: x86_64-linux-alpine
75 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
77 build-i386-linux-alpine:
81 image: "i386/alpine:3.12"
84 - apk add --no-cache bash curl gcc g++ binutils binutils-gold bsd-compat-headers gmp-dev ncurses-dev libffi-dev make xz tar perl
86 - apk add --no-cache zlib zlib-dev zlib-static
88 TARBALL_ARCHIVE_SUFFIX: i386-linux-alpine
90 ADD_CABAL_ARGS: "--enable-split-sections --enable-executable-static"
91 # temp, because 3.6.2.0 is broken
92 CABAL_INSTALL_VERSION: 3.4.0.0
94 build-x86_64-freebsd12:
99 TARBALL_ARCHIVE_SUFFIX: x86_64-freebsd12
101 ADD_CABAL_ARGS: "--enable-split-sections"
108 TARBALL_ARCHIVE_SUFFIX: x86_64-darwin
112 build-aarch64-darwin:
117 - export HOMEBREW_CHANGE_ARCH_TO_ARM=1
118 - arch -arm64 /bin/bash ./.gitlab/brew.sh llvm autoconf automake coreutils make tree
119 # C_INCLUDE_PATH: https://gitlab.haskell.org/ghc/ghc/-/issues/20592
121 export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
122 export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
123 export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
125 export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
126 export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
127 export C_INCLUDE_PATH="`xcrun --show-sdk-path`/usr/include/ffi"
128 arch -arm64 /bin/bash ./.gitlab/ci.sh
130 - rm -Rf /private/tmp/.brew_tmp
132 MACOSX_DEPLOYMENT_TARGET: "10.7"
133 TARBALL_ARCHIVE_SUFFIX: aarch64-darwin
141 build-x86_64-windows:
144 - $env:CHERE_INVOKING = "yes"
145 - bash '-lc' "ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
149 TARBALL_ARCHIVE_SUFFIX: x86_64-windows