ghcup-hs/.gitlab-ci.yml

690 lines
16 KiB
YAML
Raw Normal View History

2021-02-25 13:12:07 +00:00
stages:
2021-10-09 17:37:08 +00:00
- checks
2021-10-09 20:46:55 +00:00
- quick-test
2021-02-25 13:12:07 +00:00
- test
2021-10-09 20:46:55 +00:00
- expensive-test
2021-02-25 13:12:07 +00:00
- release
2020-04-15 07:45:18 +00:00
variables:
GIT_SSL_NO_VERIFY: "1"
# Commit of ghc/ci-images repository from which to pull Docker images
2021-06-15 12:00:30 +00:00
DOCKER_REV: 8d0224e6b2a08157649651e69302380b2bd24e11
2020-04-15 07:45:18 +00:00
# Sequential version number of all cached things.
# Bump to invalidate GitLab CI cache.
2022-05-13 08:32:44 +00:00
CACHE_REV: 1
2022-02-26 14:30:16 +00:00
GIT_SUBMODULE_STRATEGY: recursive
2020-04-15 07:45:18 +00:00
############################################################
# CI Step
############################################################
.debian:
2021-08-31 21:04:57 +00:00
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
2020-04-15 07:45:18 +00:00
tags:
- x86_64-linux
2020-04-19 15:00:05 +00:00
variables:
OS: "LINUX"
2021-02-24 14:19:29 +00:00
ARCH: "64"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-07-15 20:39:37 +00:00
CROSS: ""
2020-04-19 15:00:05 +00:00
2020-04-19 17:23:54 +00:00
.alpine:64bit:
2020-09-21 10:23:14 +00:00
image: "alpine:3.12"
2020-04-19 15:00:05 +00:00
tags:
- x86_64-linux
variables:
OS: "LINUX"
2021-02-24 14:19:29 +00:00
ARCH: "64"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2020-04-19 17:23:54 +00:00
.alpine:32bit:
2020-09-21 10:23:14 +00:00
image: "i386/alpine:3.12"
2020-04-19 17:23:54 +00:00
tags:
- x86_64-linux
variables:
OS: "LINUX"
2021-02-24 14:19:29 +00:00
ARCH: "32"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-02-24 14:19:29 +00:00
.linux:armv7:
2021-07-10 18:25:27 +00:00
image: "registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"
2021-02-24 14:19:29 +00:00
tags:
- armv7-linux
variables:
OS: "LINUX"
ARCH: "ARM"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-09-20 09:30:58 +00:00
retry: 2
2021-02-24 14:19:29 +00:00
.linux:aarch64:
2021-07-10 18:25:27 +00:00
image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"
2021-02-24 14:19:29 +00:00
tags:
- aarch64-linux
variables:
OS: "LINUX"
ARCH: "ARM64"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2020-04-15 07:45:18 +00:00
.darwin:
tags:
- x86_64-darwin
2020-04-19 15:00:05 +00:00
variables:
OS: "DARWIN"
2021-02-24 14:19:29 +00:00
ARCH: "64"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2020-04-15 07:45:18 +00:00
.darwin:aarch64:
tags:
- aarch64-darwin-m1
variables:
OS: "DARWIN"
ARCH: "ARM64"
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-09-20 09:25:40 +00:00
.freebsd13:
tags:
2021-09-10 13:46:19 +00:00
- x86_64-freebsd13
2020-04-19 15:00:05 +00:00
variables:
OS: "FREEBSD"
2021-02-24 14:19:29 +00:00
ARCH: "64"
2021-05-14 21:09:45 +00:00
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-09-20 09:25:40 +00:00
.freebsd12:
tags:
2021-09-24 18:54:55 +00:00
- x86_64-freebsd12
2021-09-20 09:25:40 +00:00
variables:
OS: "FREEBSD"
ARCH: "64"
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-05-14 21:09:45 +00:00
.windows:
tags:
- new-x86_64-windows
variables:
OS: "WINDOWS"
ARCH: "64"
CABAL_DIR: "$CI_PROJECT_DIR/cabal"
2021-09-20 09:30:58 +00:00
retry: 2
2020-04-19 15:00:05 +00:00
.root_cleanup:
after_script:
2021-05-14 21:09:45 +00:00
- bash ./.gitlab/after_script.sh
2020-04-15 07:45:18 +00:00
.test_ghcup_version:
script:
2021-05-14 21:09:45 +00:00
- bash ./.gitlab/script/ghcup_version.sh
2020-04-15 07:45:18 +00:00
variables:
2022-02-26 14:30:16 +00:00
JSON_VERSION: "0.0.7"
artifacts:
expire_in: 2 week
paths:
2021-09-04 13:27:57 +00:00
- test/golden
- dist-newstyle/cache/
when: on_failure
2022-05-13 08:32:44 +00:00
cache:
key: ghcup-test-$CACHE_REV
paths:
- cabal-cache
2020-04-15 07:45:18 +00:00
# .test_ghcup_scoop:
# script:
# - cl /O1 scoop-better-shimexe/shim.c
2020-04-15 07:45:18 +00:00
.test_ghcup_version:linux:
extends:
- .test_ghcup_version
- .debian
before_script:
- ./.gitlab/before_script/linux/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2020-04-15 07:45:18 +00:00
2020-08-09 09:21:49 +00:00
.test_ghcup_version:linux32:
extends:
- .test_ghcup_version
- .alpine:32bit
before_script:
- ./.gitlab/before_script/linux/alpine/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2020-08-09 09:21:49 +00:00
2021-02-24 14:19:29 +00:00
.test_ghcup_version:armv7:
extends:
- .test_ghcup_version
- .linux:armv7
before_script:
2021-07-10 18:25:27 +00:00
- ./.gitlab/before_script/linux/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2021-02-24 14:19:29 +00:00
.test_ghcup_version:aarch64:
extends:
- .test_ghcup_version
- .linux:aarch64
before_script:
2021-07-10 18:25:27 +00:00
- ./.gitlab/before_script/linux/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2021-02-24 14:19:29 +00:00
2020-04-15 07:45:18 +00:00
.test_ghcup_version:darwin:
extends:
- .test_ghcup_version
- .darwin
before_script:
- ./.gitlab/before_script/darwin/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2020-04-15 07:45:18 +00:00
.test_ghcup_version:darwin:aarch64:
extends:
- .test_ghcup_version
- .darwin:aarch64
cache:
key: darwin-brew-$CACHE_REV
paths:
2022-05-13 08:32:44 +00:00
- brew_cache
key: ghcup-test-$CACHE_REV
paths:
- cabal-cache
before_script:
2022-05-13 08:32:44 +00:00
# extract brew cache
- ./.gitlab/script/ci.sh extract_brew_cache
# otherwise we seem to get intel binaries
- export HOMEBREW_CHANGE_ARCH_TO_ARM=1
# update and install packages
2022-05-19 19:01:48 +00:00
- /bin/bash ./.gitlab/script/brew.sh llvm autoconf automake coreutils
2022-05-13 08:32:44 +00:00
# extract cabal cache
- ./.gitlab/script/ci.sh extract_cabal_cache
2021-06-13 15:42:24 +00:00
script: |
export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
export LD=ld
export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
./.gitlab/before_script/darwin/install_deps.sh
./.gitlab/script/ghcup_version.sh
2022-05-13 08:32:44 +00:00
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- ./.gitlab/script/ci.sh save_brew_cache
- bash ./.gitlab/after_script.sh
2021-09-20 09:25:40 +00:00
.test_ghcup_version:freebsd12:
extends:
- .test_ghcup_version
- .freebsd12
before_script:
- ./.gitlab/before_script/freebsd/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2021-09-20 09:25:40 +00:00
.test_ghcup_version:freebsd13:
extends:
- .test_ghcup_version
2021-09-20 09:25:40 +00:00
- .freebsd13
before_script:
2021-12-02 14:52:36 +00:00
- sudo pkg update
- sudo pkg install --yes compat12x-amd64
- sudo ln -s libncurses.so.6 /usr/local/lib/libncurses.so.6.2
- ./.gitlab/before_script/freebsd/install_deps.sh
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2021-05-14 21:09:45 +00:00
.test_ghcup_version:windows:
extends:
- .test_ghcup_version
- .windows
before_script:
- bash ./.gitlab/before_script/windows/install_deps.sh
2022-05-13 08:32:44 +00:00
- bash ./.gitlab/script/ci.sh extract_cabal_cache
after_script:
- bash ./.gitlab/script/ci.sh save_cabal_cache
- bash ./.gitlab/after_script.sh
2021-05-14 21:09:45 +00:00
# .test_ghcup_scoop:windows:
# extends:
# - .windows
# - .test_ghcup_scoop
2020-04-19 15:00:05 +00:00
.release_ghcup:
script:
2021-05-14 21:09:45 +00:00
- bash ./.gitlab/script/ghcup_release.sh
2020-04-19 15:00:05 +00:00
artifacts:
expire_in: 2 week
paths:
- out
- dist-newstyle/cache/
2020-04-19 15:00:05 +00:00
only:
- tags
2021-02-24 14:19:29 +00:00
variables:
2022-02-26 14:30:16 +00:00
JSON_VERSION: "0.0.7"
2020-04-15 07:45:18 +00:00
2020-09-30 21:42:30 +00:00
######## stack test ########
test:linux:stack:
2021-02-25 13:12:07 +00:00
stage: test
2020-09-30 21:42:30 +00:00
before_script:
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_stack_cache
2020-09-30 21:42:30 +00:00
- ./.gitlab/before_script/linux/install_deps_minimal.sh
script:
- ./.gitlab/script/ghcup_stack.sh
2022-05-13 08:32:44 +00:00
after_script:
- ./.gitlab/script/ci.sh save_stack_cache
2020-09-30 21:42:30 +00:00
extends:
- .debian
2021-03-11 16:03:51 +00:00
needs: []
2020-09-30 21:42:30 +00:00
2020-09-29 08:23:11 +00:00
######## bootstrap test ########
test:linux:bootstrap_script:
2021-10-09 20:46:55 +00:00
stage: quick-test
2020-09-29 08:23:11 +00:00
before_script:
2020-09-29 08:57:21 +00:00
- ./.gitlab/before_script/linux/install_deps_minimal.sh
2020-09-29 08:23:11 +00:00
script:
- ./.gitlab/script/ghcup_bootstrap.sh
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2020-09-29 08:23:11 +00:00
extends:
- .debian
2021-07-04 17:12:37 +00:00
- .root_cleanup
needs: []
test:windows:bootstrap_powershell_script:
2021-10-09 20:46:55 +00:00
stage: quick-test
2021-07-04 17:12:37 +00:00
script:
2021-09-04 13:27:57 +00:00
- ./scripts/bootstrap/bootstrap-haskell.ps1 -InstallDir $CI_PROJECT_DIR -BootstrapUrl $CI_PROJECT_DIR/bootstrap-haskell -InBash
2021-07-04 17:12:37 +00:00
after_script:
- "[Environment]::SetEnvironmentVariable('GHCUP_INSTALL_BASE_PREFIX', $null, [System.EnvironmentVariableTarget]::User)"
- "[Environment]::SetEnvironmentVariable('GHCUP_MSYS2', $null, [System.EnvironmentVariableTarget]::User)"
- "[Environment]::SetEnvironmentVariable('CABAL_DIR', $null, [System.EnvironmentVariableTarget]::User)"
- bash ./.gitlab/after_script.sh
2022-05-13 08:32:44 +00:00
- bash ./.gitlab/script/ci.sh save_cabal_cache
2021-07-04 17:12:37 +00:00
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-04 17:12:37 +00:00
extends:
- .windows
2021-03-11 16:03:51 +00:00
needs: []
2020-09-29 08:23:11 +00:00
######## linux test ########
2020-04-15 07:45:18 +00:00
2021-08-21 12:34:47 +00:00
test:linux:
2021-02-25 13:12:07 +00:00
stage: test
2020-04-15 07:45:18 +00:00
extends: .test_ghcup_version:linux
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-03-11 16:03:51 +00:00
needs: []
2020-04-15 07:45:18 +00:00
2021-09-19 19:24:21 +00:00
test:linux:hls:
2021-10-09 20:46:55 +00:00
stage: expensive-test
2021-09-19 19:24:21 +00:00
extends:
- .test_ghcup_version
- .debian
variables:
GHC_VERSION: "8.10.7"
HLS_TARGET_VERSION: "1.4.0"
2021-10-09 20:46:55 +00:00
CABAL_VERSION: "3.6.2.0"
2021-09-19 19:24:21 +00:00
needs: []
when: manual
allow_failure: true
before_script:
- ./.gitlab/before_script/linux/install_deps.sh
script:
- ./.gitlab/script/ghcup_hls.sh
2021-07-15 20:39:37 +00:00
test:linux:cross-armv7:
2021-10-09 20:46:55 +00:00
stage: expensive-test
2021-07-15 20:39:37 +00:00
extends:
- .test_ghcup_version
- .debian
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.6"
GHC_TARGET_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-15 20:39:37 +00:00
CROSS: "arm-linux-gnueabihf"
needs: []
when: manual
allow_failure: true
2021-07-15 20:39:37 +00:00
before_script:
- ./.gitlab/before_script/linux/install_deps.sh
script:
- ./.gitlab/script/ghcup_cross.sh
test:linux:git:hadrian:
2021-10-09 20:46:55 +00:00
stage: expensive-test
extends:
- .test_ghcup_version
- .debian
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
GHC_GIT_TAG: "ghc-9.0.1-release"
GHC_GIT_VERSION: "9.0.1"
2021-10-09 20:46:55 +00:00
CABAL_VERSION: "3.6.2.0"
CROSS: ""
needs: []
when: manual
allow_failure: true
before_script:
- ./.gitlab/before_script/linux/install_deps.sh
script:
- ./.gitlab/script/ghcup_git.sh
2021-07-15 20:39:37 +00:00
2020-08-09 09:21:49 +00:00
######## linux 32bit test ########
2021-08-21 12:34:47 +00:00
test:linux:32bit:
2021-02-25 13:12:07 +00:00
stage: test
2020-08-09 09:21:49 +00:00
extends: .test_ghcup_version:linux32
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-03-11 16:03:51 +00:00
needs: []
2020-04-15 07:45:18 +00:00
2021-02-24 14:19:29 +00:00
######## arm tests ########
2021-08-21 12:34:47 +00:00
test:linux:armv7:
2021-03-11 16:03:51 +00:00
stage: test
2021-02-24 14:19:29 +00:00
extends: .test_ghcup_version:armv7
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-15 20:39:37 +00:00
CROSS: ""
2021-02-24 14:19:29 +00:00
when: manual
2021-03-11 16:03:51 +00:00
needs: []
2021-02-24 14:19:29 +00:00
2021-08-21 12:34:47 +00:00
test:linux:aarch64:
2021-03-11 16:03:51 +00:00
stage: test
2021-02-24 14:19:29 +00:00
extends: .test_ghcup_version:aarch64
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-15 20:39:37 +00:00
CROSS: ""
2021-02-24 14:19:29 +00:00
when: manual
2021-03-11 16:03:51 +00:00
needs: []
2021-02-24 14:19:29 +00:00
######## darwin test ########
2020-04-15 07:45:18 +00:00
2021-08-21 12:34:47 +00:00
test:mac:
2021-02-25 13:12:07 +00:00
stage: test
2020-04-15 07:45:18 +00:00
extends: .test_ghcup_version:darwin
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-03-11 16:03:51 +00:00
needs: []
2020-04-15 07:45:18 +00:00
2021-08-21 12:34:47 +00:00
test:mac:aarch64:
2021-06-09 17:03:48 +00:00
stage: test
extends: .test_ghcup_version:darwin:aarch64
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-06-09 17:03:48 +00:00
needs: []
2021-06-12 14:08:30 +00:00
allow_failure: true
2021-10-27 11:58:10 +00:00
when: manual
######## freebsd test ########
2021-09-20 09:25:40 +00:00
test:freebsd12:
stage: test
extends: .test_ghcup_version:freebsd12
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-09-20 09:25:40 +00:00
allow_failure: true # freebsd runners are unreliable
when: manual
needs: []
test:freebsd13:
2021-02-25 13:12:07 +00:00
stage: test
2021-09-20 09:25:40 +00:00
extends: .test_ghcup_version:freebsd13
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-03-11 16:03:51 +00:00
allow_failure: true # freebsd runners are unreliable
when: manual
needs: []
2020-04-15 07:45:18 +00:00
2021-05-14 21:09:45 +00:00
######## windows test ########
2021-08-21 12:34:47 +00:00
test:windows:
2021-05-14 21:09:45 +00:00
stage: test
extends: .test_ghcup_version:windows
variables:
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-05-14 21:09:45 +00:00
needs: []
2020-04-19 15:00:05 +00:00
# test:windows:scoop:
# stage: test
# extends: .test_ghcup_scoop:windows
# needs: []
2020-04-19 15:00:05 +00:00
######## linux release ########
2020-04-19 17:23:54 +00:00
release:linux:64bit:
2021-02-25 13:12:07 +00:00
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:linux"]
2020-04-19 17:23:54 +00:00
extends:
- .alpine:64bit
- .release_ghcup
before_script:
- ./.gitlab/before_script/linux/alpine/install_deps.sh
variables:
ARTIFACT: "x86_64-linux-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2020-04-19 17:23:54 +00:00
release:linux:32bit:
2021-02-25 13:12:07 +00:00
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:linux:32bit"]
2020-04-19 15:00:05 +00:00
extends:
2020-04-19 17:23:54 +00:00
- .alpine:32bit
2020-04-19 15:00:05 +00:00
- .release_ghcup
before_script:
- ./.gitlab/before_script/linux/alpine/install_deps.sh
variables:
2020-04-27 14:23:44 +00:00
ARTIFACT: "i386-linux-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2020-04-19 15:00:05 +00:00
2021-02-24 14:19:29 +00:00
release:linux:armv7:
2021-02-25 13:12:07 +00:00
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:linux:armv7"]
2021-02-24 14:19:29 +00:00
extends:
- .linux:armv7
- .release_ghcup
before_script:
2021-07-10 18:25:27 +00:00
- ./.gitlab/before_script/linux/install_deps.sh
2021-02-24 14:19:29 +00:00
variables:
ARTIFACT: "armv7-linux-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-15 20:39:37 +00:00
CROSS: ""
2021-02-24 14:19:29 +00:00
release:linux:aarch64:
2021-02-25 13:12:07 +00:00
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:linux:aarch64"]
2021-02-24 14:19:29 +00:00
extends:
- .linux:aarch64
- .release_ghcup
before_script:
2021-07-10 18:25:27 +00:00
- ./.gitlab/before_script/linux/install_deps.sh
2021-02-24 14:19:29 +00:00
variables:
ARTIFACT: "aarch64-linux-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-07-15 20:39:37 +00:00
CROSS: ""
2020-04-19 15:00:05 +00:00
######## darwin release ########
release:darwin:
2021-02-25 13:12:07 +00:00
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:mac"]
2020-04-19 15:00:05 +00:00
extends:
- .darwin
- .release_ghcup
- .root_cleanup
before_script:
- ./.gitlab/before_script/darwin/install_deps.sh
variables:
ARTIFACT: "x86_64-apple-darwin-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2020-04-19 15:00:05 +00:00
MACOSX_DEPLOYMENT_TARGET: "10.7"
2021-06-09 17:45:23 +00:00
release:darwin:aarch64:
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:mac:aarch64"]
2021-06-09 17:45:23 +00:00
extends:
- .darwin:aarch64
- .release_ghcup
- .root_cleanup
cache:
key: darwin-brew-$CACHE_REV
paths:
2022-05-13 08:32:44 +00:00
- brew_cache
key: ghcup-test-$CACHE_REV
paths:
- cabal-cache
before_script:
2022-05-13 08:32:44 +00:00
- ./.gitlab/script/ci.sh extract_brew_cache
- ./.gitlab/script/ci.sh extract_cabal_cache
# otherwise we seem to get intel binaries
- export HOMEBREW_CHANGE_ARCH_TO_ARM=1
# update and install packages
2022-05-19 19:01:48 +00:00
- /bin/bash ./.gitlab/script/brew.sh llvm autoconf automake coreutils
2021-06-13 20:52:26 +00:00
script: |
export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
export LD=ld
export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
./.gitlab/before_script/darwin/install_deps.sh
./.gitlab/script/ghcup_release.sh
2022-05-13 08:32:44 +00:00
after_script:
- ./.gitlab/script/ci.sh save_cabal_cache
- ./.gitlab/script/ci.sh save_brew_cache
2021-06-09 17:45:23 +00:00
variables:
ARTIFACT: "aarch64-apple-darwin-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-06-09 17:45:23 +00:00
MACOSX_DEPLOYMENT_TARGET: "10.7"
2021-06-12 14:08:30 +00:00
allow_failure: true
2021-10-27 11:58:10 +00:00
when: manual
2021-06-09 17:45:23 +00:00
2020-04-19 15:00:05 +00:00
######## freebsd release ########
2021-09-20 09:25:40 +00:00
release:freebsd12:
stage: release
needs: ["test:freebsd12"]
extends:
- .freebsd12
- .release_ghcup
- .root_cleanup
before_script:
- ./.gitlab/before_script/freebsd/install_deps.sh
variables:
ARTIFACT: "x86_64-portbld-freebsd-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-09-20 09:25:40 +00:00
allow_failure: true
release:freebsd13:
2021-02-25 13:12:07 +00:00
stage: release
2021-09-20 09:25:40 +00:00
needs: ["test:freebsd13"]
2020-04-19 15:00:05 +00:00
extends:
2021-09-20 09:25:40 +00:00
- .freebsd13
2020-04-19 15:00:05 +00:00
- .release_ghcup
- .root_cleanup
2021-06-13 20:52:26 +00:00
before_script:
2021-12-02 14:52:36 +00:00
- sudo pkg update
- sudo pkg install --yes compat12x-amd64
- sudo ln -s libncurses.so.6 /usr/local/lib/libncurses.so.6.2
2021-06-13 20:52:26 +00:00
- ./.gitlab/before_script/freebsd/install_deps.sh
2020-04-19 15:00:05 +00:00
variables:
ARTIFACT: "x86_64-portbld-freebsd-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-06-12 14:08:30 +00:00
allow_failure: true
2020-04-19 15:00:05 +00:00
2021-05-14 21:09:45 +00:00
######## windows release ########
release:windows:
stage: release
2021-08-21 12:34:47 +00:00
needs: ["test:windows"]
2021-05-14 21:09:45 +00:00
extends:
- .windows
- .release_ghcup
- .root_cleanup
before_script:
- bash ./.gitlab/before_script/windows/install_deps.sh
variables:
ARTIFACT: "x86_64-mingw64-ghcup"
2021-10-09 20:46:55 +00:00
GHC_VERSION: "8.10.7"
CABAL_VERSION: "3.6.2.0"
2021-03-11 16:03:51 +00:00
######## hlint ########
hlint:
2021-10-09 17:37:08 +00:00
stage: checks
2021-03-11 16:03:51 +00:00
extends:
2021-08-31 20:53:18 +00:00
- .debian
2021-03-11 16:03:51 +00:00
script:
2021-08-31 20:53:18 +00:00
- curl -sSL https://raw.github.com/ndmitchell/hlint/master/misc/run.sh | sh -s -- -r lib/ test/
2021-03-11 16:03:51 +00:00
allow_failure: true
artifacts:
expire_in: 2 week
paths:
- report.html
when: on_failure
2021-10-09 17:37:08 +00:00
######## mkdocs ########
mkdocs:
stage: checks
extends:
- .debian
before_script:
- sudo apt-get update -y
- sudo apt-get install -y python3-pip
- pip3 install mkdocs
script:
- ~/.local/bin/mkdocs build
allow_failure: true
2021-10-09 17:46:29 +00:00
######## shellcheck ########
shellcheck:
image: "koalaman/shellcheck-alpine"
tags:
- x86_64-linux
stage: checks
script:
- shellcheck scripts/bootstrap/bootstrap-haskell
allow_failure: true