Skip to content

Commit 4958e04

Browse files
committed
Migrate release CI back to github
1 parent 9a343d1 commit 4958e04

File tree

5 files changed

+954
-1
lines changed

5 files changed

+954
-1
lines changed

.github/scripts/build.sh

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
3+
set -eux
4+
5+
uname -a
6+
uname -p
7+
uname
8+
pwd
9+
env
10+
11+
if [ "${RUNNER_OS}" = Windows ] ; then
12+
ext=".exe"
13+
else
14+
ext=""
15+
fi
16+
17+
# build
18+
ghcup --no-verbose install ghc --set --install-targets "install_bin install_lib update_package_db" "${GHC_VERSION}"
19+
sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
20+
cabal update
21+
cabal user-config diff
22+
cabal user-config init -f
23+
"ghc-${GHC_VERSION}" --info
24+
"ghc" --info
25+
26+
# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
27+
if [ "$(getconf LONG_BIT)" == "32" ] || [ "${DISTRO}" == "CentOS" ] ; then
28+
echo 'constraints: lukko -ofd-locking' >> cabal.release.project.local
29+
fi
30+
31+
# shellcheck disable=SC2206
32+
args=(
33+
-w "ghc-$GHC_VERSION"
34+
--disable-profiling
35+
--enable-executable-stripping
36+
--project-file=cabal.release.project
37+
${ADD_CABAL_ARGS}
38+
)
39+
40+
cabal v2-build "${args[@]}" cabal-install
41+
42+
mkdir -p "out"
43+
# shellcheck disable=SC2154
44+
cp "$(cabal list-bin "${args[@]}" cabal-install:exe:cabal)" "out/cabal$ext"
45+
cp dist-newstyle/cache/plan.json "out/plan.json"
46+
cd "out/"
47+
48+
# create tarball/zip
49+
TARBALL_PREFIX="cabal-install-$("./cabal" --numeric-version)"
50+
case "${TARBALL_EXT}" in
51+
zip)
52+
zip "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
53+
;;
54+
tar.xz)
55+
tar caf "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
56+
;;
57+
*)
58+
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
59+
;;
60+
esac
61+
62+
rm "cabal${ext}" plan.json
63+

.github/scripts/test.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
3+
set -eux
4+
5+
env
6+
pwd
7+
ls -lah
8+
9+
cd out
10+
case "${TARBALL_EXT}" in
11+
zip)
12+
unzip ./cabal-install-*-"${ARTIFACT}.${TARBALL_EXT}"
13+
;;
14+
tar.xz)
15+
tar xf ./cabal-install-*-"${ARTIFACT}.${TARBALL_EXT}"
16+
;;
17+
*)
18+
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
19+
;;
20+
esac
21+
cd ..
22+
23+
ghcup --no-verbose install ghc --set --install-targets "install_bin install_lib update_package_db" "${GHC_VERSION}"
24+
25+
cabal update
26+
27+
# TODO: we want to avoid building here... we should just
28+
# be using the previously built 'cabal-tests' binary
29+
cabal run ${ADD_CABAL_ARGS} cabal-testsuite:cabal-tests -- \
30+
--with-cabal "$(pwd)/out/cabal" \
31+
--intree-cabal-lib "$(pwd)" \
32+
--test-tmp "$(pwd)/testdb" \
33+
-j "$(nproc)"
34+

0 commit comments

Comments
 (0)