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
Artem Pelenitsyn
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
Branches containing commit
Tags
Cabal-v3.4.1.0
cabal-install-v3.4.1.0
No related merge requests found
Changes
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:
DOCKER_REV
:
"
853f348f9caf38b08740b280296fbd34e09abb3a"
GHC_VERSION
:
8.10.7
CABAL_INSTALL_VERSION
:
3.
4.0
.0
CABAL_INSTALL_VERSION
:
3.
6.2
.0
workflow
:
rules
:
...
...
@@ -19,31 +19,53 @@ workflow:
artifacts
:
expire_in
:
2 week
paths
:
-
out
-
out
/*
build-aarch64-linux-deb10
:
extends
:
.build
tags
:
-
aarch64-linux
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
:
extends
:
.build
tags
:
-
armv7-linux
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
:
extends
:
.build
tags
:
-
x86_64-linux
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
:
extends
:
.build
tags
:
-
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"
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
:
extends
:
.build
...
...
@@ -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
# for cabal build
-
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
:
extends
:
.build
tags
:
-
x86_64-freebsd13
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-freebsd13
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections"
build-x86_64-freebsd12
:
extends
:
.build
tags
:
-
x86_64-freebsd12
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-freebsd12
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
--enable-split-sections"
build-x86_64-darwin
:
extends
:
.build
tags
:
-
x86_64-darwin
variables
:
TARBALL_ARCHIVE_SUFFIX
:
x86_64-darwin
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
build-aarch64-darwin
:
tags
:
...
...
@@ -85,20 +125,37 @@ build-aarch64-darwin:
--keep MACOSX_DEPLOYMENT_TARGET \
--keep GHC_VERSION \
--keep CABAL_INSTALL_VERSION \
--keep TARBALL_ARCHIVE_SUFFIX \
--keep TARBALL_EXT \
--keep ADD_CABAL_ARGS \
--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"
TARBALL_ARCHIVE_SUFFIX
:
aarch64-darwin
TARBALL_EXT
:
tar.xz
ADD_CABAL_ARGS
:
"
"
artifacts
:
expire_in
:
2 week
paths
:
-
out
-
out
/*
build-x86_64-windows
:
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
:
-
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
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
\
# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
if
[
"
$(
getconf LONG_BIT
)
"
==
"32"
]
;
then
echo
'constraints: lukko -ofd-locking'
>>
cabal.project.release.local
fi
args
=(
-w
"ghc-
$GHC_VERSION
"
--disable-profiling
--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"
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/
tests: False
benchmarks: False
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