Skip to content
Snippets Groups Projects
Unverified Commit aa4c1e35 authored by Zubin's avatar Zubin
Browse files

Build in parallel

parent eddb6e5b
No related branches found
No related tags found
No related merge requests found
Pipeline #58743 failed
...@@ -11,20 +11,18 @@ variables: ...@@ -11,20 +11,18 @@ variables:
CABAL_INSTALL_VERSION: 3.8.1.0 CABAL_INSTALL_VERSION: 3.8.1.0
.windows_matrix: &windows_matrix .matrix: &matrix
matrix: matrix:
- GHC_VERSION: 8.10.7 - GHC_VERSION: 8.10.7
CABAL_PROJECT: cabal.project CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.0.2 - GHC_VERSION: 9.0.2
CABAL_PROJECT: cabal.project CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.2.3
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.2.4 - GHC_VERSION: 9.2.4
CABAL_PROJECT: cabal.project CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.4.1
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.4.2 - GHC_VERSION: 9.4.2
CABAL_PROJECT: cabal.project CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.4.3
CABAL_PROJECT: cabal.project
workflow: workflow:
rules: rules:
...@@ -49,6 +47,7 @@ workflow: ...@@ -49,6 +47,7 @@ workflow:
.build: .build:
extends: .artifacts:short extends: .artifacts:short
stage: build stage: build
parallel: *matrix
script: script:
- bash .gitlab/ci.sh - bash .gitlab/ci.sh
...@@ -514,8 +513,6 @@ build-x86_64-darwin: ...@@ -514,8 +513,6 @@ build-x86_64-darwin:
NIX_SYSTEM: x86_64-darwin NIX_SYSTEM: x86_64-darwin
script: | script: |
/bin/bash ./.gitlab/ci.sh /bin/bash ./.gitlab/ci.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
tar-x86_64-darwin: tar-x86_64-darwin:
extends: .artifacts extends: .artifacts
...@@ -525,8 +522,6 @@ tar-x86_64-darwin: ...@@ -525,8 +522,6 @@ tar-x86_64-darwin:
- x86_64-darwin - x86_64-darwin
script: | script: |
/bin/bash ./.gitlab/tar.sh /bin/bash ./.gitlab/tar.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
variables: variables:
TARBALL_ARCHIVE_SUFFIX: x86_64-apple-darwin TARBALL_ARCHIVE_SUFFIX: x86_64-apple-darwin
TARBALL_EXT: tar.xz TARBALL_EXT: tar.xz
...@@ -539,8 +534,6 @@ test-x86_64-darwin: ...@@ -539,8 +534,6 @@ test-x86_64-darwin:
- x86_64-darwin - x86_64-darwin
script: | script: |
/bin/bash .gitlab/test.sh /bin/bash .gitlab/test.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
###################### ######################
...@@ -554,8 +547,6 @@ build-aarch64-darwin: ...@@ -554,8 +547,6 @@ build-aarch64-darwin:
- aarch64-darwin-m1 - aarch64-darwin-m1
script: | script: |
arch -arm64 /bin/bash ./.gitlab/ci.sh arch -arm64 /bin/bash ./.gitlab/ci.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
variables: variables:
MACOSX_DEPLOYMENT_TARGET: "10.7" MACOSX_DEPLOYMENT_TARGET: "10.7"
ADD_CABAL_ARGS: "" ADD_CABAL_ARGS: ""
...@@ -581,8 +572,6 @@ test-aarch64-darwin: ...@@ -581,8 +572,6 @@ test-aarch64-darwin:
- aarch64-darwin-m1 - aarch64-darwin-m1
script: | script: |
arch -arm64 /bin/bash ./.gitlab/test.sh arch -arm64 /bin/bash ./.gitlab/test.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
###################### ######################
...@@ -593,7 +582,6 @@ build-x86_64-windows: ...@@ -593,7 +582,6 @@ build-x86_64-windows:
extends: .build extends: .build
tags: tags:
- new-x86_64-windows - new-x86_64-windows
parallel: *windows_matrix
script: script:
- $env:CHERE_INVOKING = "yes" - $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" - bash '-lc' "ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
......
...@@ -34,12 +34,6 @@ export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=yes ...@@ -34,12 +34,6 @@ export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=yes
# and starts installing x86_64 GHC # and starts installing x86_64 GHC
case "$(uname -s)" in case "$(uname -s)" in
"Darwin"|"darwin") "Darwin"|"darwin")
nix build -f $CI_PROJECT_DIR/.gitlab/darwin/toolchain.nix --argstr system "$NIX_SYSTEM" -o toolchain.sh
cat toolchain.sh
source toolchain.sh
# Precautious since we want to use ghc from ghcup
unset MACOSX_DEPLOYMENT_TARGET
unset GHC
case "$(/usr/bin/arch)" in case "$(/usr/bin/arch)" in
aarch64|arm64|armv8l) aarch64|arm64|armv8l)
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | arch -arm64 /bin/bash curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | arch -arm64 /bin/bash
...@@ -90,8 +84,8 @@ case "$(uname)" in ...@@ -90,8 +84,8 @@ case "$(uname)" in
*) *)
sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
emake --version emake --version
emake GHCUP=ghcup hls emake GHCUP=ghcup hls-ghc
emake GHCUP=ghcup bindist emake GHCUP=ghcup bindist-ghc
rm -rf out/*.*.* rm -rf out/*.*.*
;; ;;
esac esac
......
...@@ -65,29 +65,15 @@ define set_rpath ...@@ -65,29 +65,15 @@ define set_rpath
$(if $(filter Darwin,$(UNAME)), $(INSTALL_NAME_TOOL) -add_rpath "@executable_path/$(1)" "$(2)", $(PATCHELF) --force-rpath --set-rpath "\$$ORIGIN/$(1)" "$(2)") $(if $(filter Darwin,$(UNAME)), $(INSTALL_NAME_TOOL) -add_rpath "@executable_path/$(1)" "$(2)", $(PATCHELF) --force-rpath --set-rpath "\$$ORIGIN/$(1)" "$(2)")
endef endef
hls: bindist/ghcs
for ghc in $(shell [ -e "bindist/ghcs-`uname -o`" ] && cat "bindist/ghcs-`uname -o`" || cat "bindist/ghcs") ; do \
$(GHCUP) -v install ghc `echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` && \
$(GHCUP) -v gc -p -s -c && \
$(MAKE) GHC_VERSION=`echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` PROJECT_FILE=`echo $$ghc | $(AWK) -F ',' '{ print $$2 }'` hls-ghc && \
$(GHCUP) -v rm ghc `echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` ; \
done
hls-ghc: hls-ghc:
$(MKDIR_P) out/ $(MKDIR_P) out/
@if test -z "$(GHC_VERSION)" ; then echo >&2 "GHC_VERSION is not set" ; false ; fi @if test -z "$(GHC_VERSION)" ; then echo >&2 "GHC_VERSION is not set" ; false ; fi
@if test -z "$(PROJECT_FILE)" ; then echo >&2 "PROJECT_FILE is not set" ; false ; fi @if test -z "$(CABAL_PROJECT)" ; then echo >&2 "CABAL_PROJECT is not set" ; false ; fi
$(CABAL_INSTALL) --project-file="$(PROJECT_FILE)" -w "ghc-$(GHC_VERSION)" $(CABAL_INSTALL_ARGS) --installdir="$(ROOT_DIR)/out/$(GHC_VERSION)" exe:haskell-language-server exe:haskell-language-server-wrapper $(CABAL_INSTALL) --project-file="$(CABAL_PROJECT)" -w "ghc-$(GHC_VERSION)" $(CABAL_INSTALL_ARGS) --installdir="$(ROOT_DIR)/out/$(GHC_VERSION)" exe:haskell-language-server exe:haskell-language-server-wrapper
$(STRIP_S) "$(ROOT_DIR)/out/$(GHC_VERSION)/haskell-language-server" $(STRIP_S) "$(ROOT_DIR)/out/$(GHC_VERSION)/haskell-language-server"
$(STRIP_S) "$(ROOT_DIR)/out/$(GHC_VERSION)/haskell-language-server-wrapper" $(STRIP_S) "$(ROOT_DIR)/out/$(GHC_VERSION)/haskell-language-server-wrapper"
bindist: bindist:
for ghc in $(shell [ -e "bindist/ghcs-`uname`" ] && cat "bindist/ghcs-`uname`" || cat "bindist/ghcs") ; do \
$(GHCUP) -v install ghc `echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` && \
$(GHCUP) -v gc -p -s -c && \
$(MAKE) GHC_VERSION=`echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` bindist-ghc && \
$(GHCUP) -v rm ghc `echo $$ghc | $(AWK) -F ',' '{ print $$1 }'` ; \
done
$(SED) -e "s/@@HLS_VERSION@@/$(HLS_VERSION)/" \ $(SED) -e "s/@@HLS_VERSION@@/$(HLS_VERSION)/" \
bindist/GNUmakefile.in > "$(BINDIST_OUT_DIR)/GNUmakefile" bindist/GNUmakefile.in > "$(BINDIST_OUT_DIR)/GNUmakefile"
$(INSTALL_D) "$(BINDIST_OUT_DIR)/scripts/" $(INSTALL_D) "$(BINDIST_OUT_DIR)/scripts/"
...@@ -125,4 +111,4 @@ clean: ...@@ -125,4 +111,4 @@ clean:
clean-all: clean-all:
$(RM_RF) out/* $(STORE_DIR) $(RM_RF) out/* $(STORE_DIR)
.PHONY: hls hls-ghc bindist bindist-ghc bindist-tar clean clean-all install-ghcs .PHONY: hls-ghc bindist bindist-ghc bindist-tar clean clean-all install-ghcs
8.10.7,cabal.project
9.0.2,cabal.project
9.2.4,cabal.project
9.4.2,cabal.project
9.4.3,cabal.project
8.10.7,cabal.project
9.0.2,cabal.project
8.10.7,cabal.project
9.0.2,cabal.project
9.2.4,cabal.project
9.4.2,cabal.project
9.4.3,cabal.project
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment