38 lines
1013 B
Bash
38 lines
1013 B
Bash
#!/bin/sh
|
|
|
|
set -eux
|
|
|
|
. .github/scripts/common.sh
|
|
|
|
git_describe
|
|
|
|
# ensure ghcup
|
|
install_ghcup
|
|
|
|
# ensure cabal-cache
|
|
download_cabal_cache "$HOME/.local/bin/cabal-cache"
|
|
|
|
# install toolchain (if necessary)
|
|
ghcup -v install ghc --set --force "$GHC_VER"
|
|
ghcup -v install cabal --force "$CABAL_VER"
|
|
ghc --version
|
|
cabal --version
|
|
GHC="ghc-${GHC_VER}"
|
|
|
|
# build
|
|
ecabal update
|
|
build_with_cache --project-file=cabal.project.release -w "${GHC}" --enable-tests
|
|
|
|
# set up artifacts
|
|
mkdir -p out
|
|
binary=$(cabal --project-file=cabal.project.release list-bin ghcup)
|
|
binary_test=$(cabal --project-file=cabal.project.release list-bin ghcup-test)
|
|
binary_opttest=$(cabal --project-file=cabal.project.release list-bin ghcup-optparse-test)
|
|
ver=$("${binary}" --numeric-version)
|
|
strip_binary "${binary}"
|
|
cp "${binary}" "out/${ARTIFACT}-${ver}${ext}"
|
|
cp "${binary_test}" "out/test-${ARTIFACT}-${ver}${ext}"
|
|
cp "${binary_opttest}" "out/test-optparse-${ARTIFACT}-${ver}${ext}"
|
|
cp ./dist-newstyle/cache/plan.json "out/${ARTIFACT}.plan.json"
|
|
|