Skip to content

3.4.1.0 #7724

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Oct 8, 2021
Merged

3.4.1.0 #7724

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions .github/workflows/bootstrap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ jobs:
- uses: actions/checkout@v2
- name: bootstrap.py
run: |
python3 bootstrap/bootstrap.py -w /opt/ghc/8.10.4/bin/ghc -d bootstrap/linux-8.10.4.json
ghcup install ghc 8.10.4
python3 bootstrap/bootstrap.py -w $(ghcup whereis ghc 8.10.4) -d bootstrap/linux-8.10.4.json

- name: Smoke test
run: |
Expand All @@ -41,20 +42,13 @@ jobs:
name: Bootstrap on macOS
runs-on: macos-latest
steps:
- name: Install GHC
run: |
cd $(mktemp -d)
curl -sLO "https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-apple-darwin.tar.xz"
tar -xJf ghc-*.tar.xz
cd ghc-*
./configure --prefix=/opt/ghc/8.10.4
sudo make install
- uses: actions/checkout@v2

# We use linux dependencies
- name: bootstrap.py
run: |
python3 bootstrap/bootstrap.py -w /opt/ghc/8.10.4/bin/ghc -d bootstrap/linux-8.10.4.json
ghcup install ghc 8.10.4
python3 bootstrap/bootstrap.py -w $(ghcup whereis ghc 8.10.4) -d bootstrap/linux-8.10.4.json

- name: Smoke test
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
- name: Install cabal-plan
run: |
cd $(mktemp -d)
cabal v2-install cabal-plan --constraint='cabal-plan ^>=0.6.2.0' --constraint='aeson +fast'
cabal v2-install cabal-plan --constraint='cabal-plan ^>=0.6.2.0' --constraint='aeson +fast' --constraint='cabal-plan +exe'
- uses: actions/checkout@v2
- name: Validate print-config
run: sh validate.sh -j 2 -w ghc-8.8.3 -v -s print-config
Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
- name: Install cabal-plan
run: |
cd $(mktemp -d)
cabal v2-install cabal-plan --constraint='cabal-plan ^>=0.6.2.0' --constraint='aeson +fast'
cabal v2-install cabal-plan --constraint='cabal-plan ^>=0.6.2.0' --constraint='aeson +fast' --constraint='cabal-plan +exe'
- uses: actions/checkout@v2
- name: Validate print-config
run: sh validate.sh -j 2 -w ghc-8.6.5 -v -s print-config
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/quick-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,10 @@ jobs:
runs-on: ubuntu-18.04
# This job is not run in a container, any recent GHC should be fine
steps:
- name: Set PATH
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#adding-a-system-path
- name: Install GHC
run: |
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
echo "/opt/cabal/3.2/bin" >> $GITHUB_PATH
echo "/opt/ghc/8.10.4/bin" >> $GITHUB_PATH
ghcup install ghc --set 8.10.4
- uses: actions/cache@v1
with:
path: ~/.cabal/store
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,4 @@ jobs:
cabal v2-run cabal-install:unit-tests -- --pattern "! (/FileMonitor/ || /VCS/ || /Get/)"
- name: cabal-tests
# Using only one job, -j1, to fail less.
run: cabal v2-run cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.4.0.0\x\cabal\build\cabal\cabal.exe
run: cabal v2-run cabal-tests -- -j1 --with-cabal=dist-newstyle\build\x86_64-windows\ghc-8.6.5\cabal-install-3.4.1.0\x\cabal\build\cabal\cabal.exe
99 changes: 99 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
variables:
# Commit of ghc/ci-images repository from which to pull Docker images
DOCKER_REV: "853f348f9caf38b08740b280296fbd34e09abb3a"

GHC_VERSION: 8.10.7
CABAL_INSTALL_VERSION: 3.4.0.0

workflow:
rules:
- if: $CI_COMMIT_TAG
when: always
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- when: never

.build:
script:
- bash .gitlab/ci.sh
artifacts:
expire_in: 2 week
paths:
- out

build-aarch64-linux-deb10:
extends: .build
tags:
- aarch64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"

build-armv7-linux-deb10:
extends: .build
tags:
- armv7-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"

build-x86_64-linux:
extends: .build
tags:
- x86_64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"

build-x86_64-linux-alpine:
extends: .build
tags:
- x86_64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"

build-i386-linux-alpine:
extends: .build
tags:
- x86_64-linux
image: "i386/alpine:3.12"
before_script:
# for GHC
- apk add --no-cache bash curl gcc g++ binutils binutils-gold bsd-compat-headers gmp-dev ncurses-dev libffi-dev make xz tar perl
# for cabal build
- apk add --no-cache zlib zlib-dev zlib-static

build-x86_64-freebsd:
extends: .build
tags:
- x86_64-freebsd13

build-x86_64-darwin:
extends: .build
tags:
- x86_64-darwin

build-aarch64-darwin:
tags:
- aarch64-darwin-m1
script: |
set -Eeuo pipefail
function runInNixShell() {
time nix-shell $CI_PROJECT_DIR/.gitlab/shell.nix \
-I nixpkgs=https://github.com/angerman/nixpkgs/archive/75f7281738b.tar.gz \
--argstr system "aarch64-darwin" \
--pure \
--keep CI_PROJECT_DIR \
--keep MACOSX_DEPLOYMENT_TARGET \
--keep GHC_VERSION \
--keep CABAL_INSTALL_VERSION \
--run "$1" 2>&1
}
# temporary fix
runInNixShell "cabal update && mkdir vendored && cd vendored && cabal unpack network-3.1.2.2 && cd network-3.1.2.2 && autoreconf -fi" 2>&1

runInNixShell "./.gitlab/ci.sh" 2>&1
variables:
MACOSX_DEPLOYMENT_TARGET: "10.7"
artifacts:
expire_in: 2 week
paths:
- out

build-x86_64-windows:
extends: .build
tags:
- new-x86_64-windows
44 changes: 44 additions & 0 deletions .gitlab/ci.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/usr/bin/env bash

set -Eeuo pipefail

source "$CI_PROJECT_DIR/.gitlab/common.sh"


export GHCUP_INSTALL_BASE_PREFIX="$CI_PROJECT_DIR/toolchain"
export CABAL_DIR="$CI_PROJECT_DIR/cabal"

case "$(uname)" in
MSYS_*|MINGW*)
export CABAL_DIR="$(cygpath -w "$CABAL_DIR")"
GHCUP_BINDIR="${GHCUP_INSTALL_BASE_PREFIX}/ghcup/bin"
;;
*)
GHCUP_BINDIR="${GHCUP_INSTALL_BASE_PREFIX}/.ghcup/bin"
;;
esac

mkdir -p "$CABAL_DIR"
mkdir -p "$GHCUP_BINDIR"
export PATH="$GHCUP_BINDIR:$PATH"

export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
export BOOTSTRAP_HASKELL_GHC_VERSION=$GHC_VERSION
export BOOTSTRAP_HASKELL_CABAL_VERSION=$CABAL_INSTALL_VERSION
export BOOTSTRAP_HASKELL_VERBOSE=1
export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=yes

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

run cabal v2-install cabal-install \
-w "ghc-$GHC_VERSION" \
--project-file=cabal.project.release \
--installdir="$CI_PROJECT_DIR/out" \
--install-method=copy \
--overwrite-policy=always \
--enable-executable-static \
--disable-profiling \
--enable-split-sections \
--enable-executable-stripping

cp dist-newstyle/cache/plan.json "$CI_PROJECT_DIR/out/plan.json"
117 changes: 117 additions & 0 deletions .gitlab/common.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Common bash utilities
# ----------------------

# Colors
BLACK="0;30"
GRAY="1;30"
RED="0;31"
LT_RED="1;31"
BROWN="0;33"
LT_BROWN="1;33"
GREEN="0;32"
LT_GREEN="1;32"
BLUE="0;34"
LT_BLUE="1;34"
PURPLE="0;35"
LT_PURPLE="1;35"
CYAN="0;36"
LT_CYAN="1;36"
WHITE="1;37"
LT_GRAY="0;37"

# GitLab Pipelines log section delimiters
# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
start_section() {
name="$1"
echo -e "section_start:$(date +%s):$name\015\033[0K"
}

end_section() {
name="$1"
echo -e "section_end:$(date +%s):$name\015\033[0K"
}

echo_color() {
local color="$1"
local msg="$2"
echo -e "\033[${color}m${msg}\033[0m"
}

error() { echo_color "${RED}" "$1"; }
warn() { echo_color "${LT_BROWN}" "$1"; }
info() { echo_color "${LT_BLUE}" "$1"; }

fail() { error "error: $1"; exit 1; }

function run() {
info "Running $*..."
"$@" || ( error "$* failed"; return 1; )
}
.gitlab-ci.yml
+
61
-
0

Viewed
variables:
# Commit of ghc/ci-images repository from which to pull Docker images
DOCKER_REV: "853f348f9caf38b08740b280296fbd34e09abb3a"

GHC_VERSION: 8.10.7
CABAL_INSTALL_VERSION: 3.2.0.0

workflow:
rules:
- if: $CI_COMMIT_TAG
when: always
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- when: never

.build:
script:
- bash .gitlab/ci.sh
artifacts:
expire_in: 2 week
paths:
- out

build-aarch64-linux-deb10:
extends: .build
tags:
- aarch64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"

build-armv7-linux-deb10:
extends: .build
tags:
- armv7-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"

build-x86_64-linux:
extends: .build
tags:
- x86_64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb9:$DOCKER_REV"

build-x86_64-linux-alpine:
extends: .build
tags:
- x86_64-linux
image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"

build-x86_64-freebsd:
extends: .build
tags:
- x86_64-freebsd

build-x86_64-darwin:
extends: .build
tags:
- x86_64-darwin

build-x86_64-windows:
extends: .build
tags:
- new-x86_64-windows
Loading