Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
C
Cabal
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Analyze
Contributor analytics
CI/CD analytics
Repository analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Haskell
Cabal
Commits
12f6894c
Unverified
Commit
12f6894c
authored
3 years ago
by
Julian Ospald
Committed by
GitHub
3 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Backport CI fixes (#7736)
parent
12dc5c26
No related branches found
No related tags found
No related merge requests found
Pipeline
#45315
failed
3 years ago
Stage: test
Changes
3
Pipelines
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitlab-ci.yml
+63
-6
63 additions, 6 deletions
.gitlab-ci.yml
.gitlab/ci.sh
+32
-9
32 additions, 9 deletions
.gitlab/ci.sh
cabal.project.release
+0
-4
0 additions, 4 deletions
cabal.project.release
with
95 additions
and
19 deletions
.gitlab-ci.yml
+
63
−
6
View file @
12f6894c
...
@@ -3,7 +3,7 @@ variables:
...
@@ -3,7 +3,7 @@ variables:
DOCKER_REV
:
"
853f348f9caf38b08740b280296fbd34e09abb3a"
DOCKER_REV
:
"
853f348f9caf38b08740b280296fbd34e09abb3a"
GHC_VERSION
:
8.10.7
GHC_VERSION
:
8.10.7
CABAL_INSTALL_VERSION
:
3.
4.0
.0
CABAL_INSTALL_VERSION
:
3.
6.2
.0
workflow
:
workflow
:
rules
:
rules
:
...
@@ -19,31 +19,53 @@ workflow:
...
@@ -19,31 +19,53 @@ workflow:
artifacts
:
artifacts
:
expire_in
:
2 week
expire_in
:
2 week
paths
:
paths
:
-
out
-
out
/*
build-aarch64-linux-deb10
:
build-aarch64-linux-deb10
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
aarch64-linux
-
aarch64-linux
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/aarch64-linux-deb10:$DOCKER_REV"
variables
:
TARBALL_ARCHIVE_SUFFIX
:
aarch64-linux-deb10
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
build-armv7-linux-deb10
:
build-armv7-linux-deb10
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
armv7-linux
-
armv7-linux
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/armv7-linux-deb10:$DOCKER_REV"
variables
:
TARBALL_ARCHIVE_SUFFIX
:
armv7-linux-deb1
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
# temp, because 3.6.2.0 is broken
CABAL_INSTALL_VERSION
:
3.4.0.0
retry
:
2
build-x86_64-linux
:
build-x86_64-linux
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
x86_64-linux
-
x86_64-linux
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV"
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-linux-deb10
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections"
build-x86_64-linux-alpine
:
build-x86_64-linux-alpine
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
x86_64-linux
-
x86_64-linux
before_script
:
# for cabal build
-
sudo apk add --no-cache zlib zlib-dev zlib-static
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"
image
:
"
registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-alpine3_12:$DOCKER_REV"
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-linux-alpine
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections
--enable-executable-static"
build-i386-linux-alpine
:
build-i386-linux-alpine
:
extends
:
.build
extends
:
.build
...
@@ -55,21 +77,39 @@ build-i386-linux-alpine:
...
@@ -55,21 +77,39 @@ build-i386-linux-alpine:
-
apk add --no-cache bash curl gcc g++ binutils binutils-gold bsd-compat-headers gmp-dev ncurses-dev libffi-dev make xz tar perl
-
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
# for cabal build
-
apk add --no-cache zlib zlib-dev zlib-static
-
apk add --no-cache zlib zlib-dev zlib-static
variables
:
TARBALL_ARCHIVE_SUFFIX
:
i386-linux-alpine
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections
--enable-executable-static"
# temp, because 3.6.2.0 is broken
CABAL_INSTALL_VERSION
:
3.4.0.0
build-x86_64-freebsd13
:
build-x86_64-freebsd13
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
x86_64-freebsd13
-
x86_64-freebsd13
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-freebsd13
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections"
build-x86_64-freebsd12
:
build-x86_64-freebsd12
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
x86_64-freebsd12
-
x86_64-freebsd12
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-freebsd12
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections"
build-x86_64-darwin
:
build-x86_64-darwin
:
extends
:
.build
extends
:
.build
tags
:
tags
:
-
x86_64-darwin
-
x86_64-darwin
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-darwin
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
build-aarch64-darwin
:
build-aarch64-darwin
:
tags
:
tags
:
...
@@ -85,20 +125,37 @@ build-aarch64-darwin:
...
@@ -85,20 +125,37 @@ build-aarch64-darwin:
--keep MACOSX_DEPLOYMENT_TARGET \
--keep MACOSX_DEPLOYMENT_TARGET \
--keep GHC_VERSION \
--keep GHC_VERSION \
--keep CABAL_INSTALL_VERSION \
--keep CABAL_INSTALL_VERSION \
--keep TARBALL_ARCHIVE_SUFFIX \
--keep TARBALL_EXT \
--keep ADD_CABAL_ARGS \
--run "$1" 2>&1
--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
runInNixShell "./.gitlab/ci.sh" 2>&1
variables
:
variables
:
MACOSX_DEPLOYMENT_TARGET
:
"
10.7"
MACOSX_DEPLOYMENT_TARGET
:
"
10.7"
TARBALL_ARCHIVE_SUFFIX
:
aarch64-darwin
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
artifacts
:
artifacts
:
expire_in
:
2 week
expire_in
:
2 week
paths
:
paths
:
-
out
-
out
/*
build-x86_64-windows
:
build-x86_64-windows
:
extends
:
.build
extends
:
.build
script
:
-
Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $false, $true, $true, $false, $false, $false, $false, "$CI_PROJECT_DIR"
-
./ghcup/msys64/usr/bin/bash '-lc' 'pacman --noconfirm -S zip'
-
$env:CHERE_INVOKING = "yes"
-
./ghcup/msys64/usr/bin/bash '-lc' "TARBALL_ARCHIVE_SUFFIX=$env:TARBALL_ARCHIVE_SUFFIX TARBALL_EXT=$env:TARBALL_EXT ADD_CABAL_ARGS=$env:ADD_CABAL_ARGS GHC_VERSION=$env:GHC_VERSION CABAL_INSTALL_VERSION=$CABAL_INSTALL_VERSION .gitlab/ci.sh"
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)"
tags
:
tags
:
-
new-x86_64-windows
-
new-x86_64-windows
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-windows
TARBALL_EXT
:
zip
ADD_CABAL_ARGS
:
"
"
retry
:
2
This diff is collapsed.
Click to expand it.
.gitlab/ci.sh
+
32
−
9
View file @
12f6894c
...
@@ -30,15 +30,38 @@ export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=yes
...
@@ -30,15 +30,38 @@ export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=yes
curl
--proto
'=https'
--tlsv1
.2
-sSf
https://get-ghcup.haskell.org | sh
curl
--proto
'=https'
--tlsv1
.2
-sSf
https://get-ghcup.haskell.org | sh
run cabal v2-install cabal-install
\
# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
-w
"ghc-
$GHC_VERSION
"
\
if
[
"
$(
getconf LONG_BIT
)
"
==
"32"
]
;
then
--project-file
=
cabal.project.release
\
echo
'constraints: lukko -ofd-locking'
>>
cabal.project.release.local
--installdir
=
"
$CI_PROJECT_DIR
/out"
\
fi
--install-method
=
copy
\
--overwrite-policy
=
always
\
args
=(
--enable-executable-static
\
-w
"ghc-
$GHC_VERSION
"
--disable-profiling
\
--disable-profiling
--enable-split-sections
\
--enable-executable-stripping
--enable-executable-stripping
--project-file
=
cabal.project.release
${
ADD_CABAL_ARGS
}
)
run cabal v2-build
${
args
[@]
}
cabal-install
mkdir
"
$CI_PROJECT_DIR
/out"
cp
"
$(
cabal list-bin
${
args
[@]
}
cabal-install:exe:cabal
)
"
"
$CI_PROJECT_DIR
/out/cabal"
cp
dist-newstyle/cache/plan.json
"
$CI_PROJECT_DIR
/out/plan.json"
cp
dist-newstyle/cache/plan.json
"
$CI_PROJECT_DIR
/out/plan.json"
cd
"
$CI_PROJECT_DIR
/out/"
# create tarball/zip
TARBALL_PREFIX
=
"cabal-install-
$(
"
$CI_PROJECT_DIR
/out/cabal"
--numeric-version
)
"
case
"
${
TARBALL_EXT
}
"
in
zip
)
zip
"
${
TARBALL_PREFIX
}
-
${
TARBALL_ARCHIVE_SUFFIX
}
.
${
TARBALL_EXT
}
"
cabal plan.json
;;
tar.xz
)
tar
caf
"
${
TARBALL_PREFIX
}
-
${
TARBALL_ARCHIVE_SUFFIX
}
.
${
TARBALL_EXT
}
"
cabal plan.json
;;
*
)
fail
"Unknown TARBALL_EXT:
${
TARBALL_EXT
}
"
;;
esac
rm
cabal plan.json
This diff is collapsed.
Click to expand it.
cabal.project.release
+
0
−
4
View file @
12f6894c
...
@@ -3,7 +3,3 @@ packages: cabal-install/
...
@@ -3,7 +3,3 @@ packages: cabal-install/
tests: False
tests: False
benchmarks: False
benchmarks: False
optimization: True
optimization: True
optional-packages: ./vendored/*/*.cabal
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment