1616 default : " install_bin install_lib update_package_db"
1717 cabal :
1818 type : string
19- default : 3.14.2.0
19+ default : 3.17.0.1
2020 test :
2121 type : boolean
2222 default : true
2828 CABAL_VERSION : ${{ inputs.cabal }}
2929 # ghcup
3030 BOOTSTRAP_HASKELL_NONINTERACTIVE : 1
31- BOOTSTRAP_HASKELL_GHC_VERSION : ${{ inputs.ghc }}
32- BOOTSTRAP_HASKELL_CABAL_VERSION : ${{ inputs.cabal }}
31+ BOOTSTRAP_HASKELL_MINIMAL : 1
3332 BOOTSTRAP_HASKELL_INSTALL_NO_STACK : 1
3433 # debian/ubuntu
3534 DEBIAN_FRONTEND : noninteractive
@@ -105,6 +104,11 @@ jobs:
105104 with :
106105 cabal : ${{ env.CABAL_VERSION }}
107106 ghc : ${{ env.GHC_VERSION }}
107+ config : &ghcup-config |
108+ meta-cache : 0
109+ url-source :
110+ - GHCupURL
111+ - https://raw.githubusercontent.com/haskell/ghcup-metadata/refs/heads/stable-haskell-0.0.1/stable-haskell-0.0.9.yaml
108112
109113 - uses : actions/checkout@v4
110114 with :
@@ -128,11 +132,6 @@ jobs:
128132 ln -s make /usr/local/bin/gmake
129133 echo "/usr/local/bin" >> $GITHUB_PATH
130134
131- - name : Add extra-lib-dirs
132- run : &extra-lib-dirs |
133- echo "extra-lib-dirs : $HOME/.local/lib/" >> cabal.project.stage2
134- echo "extra-lib-dirs : $HOME/.local/lib/" >> cabal.project.stage3
135-
136135 - if : matrix.platform.image == 'rockylinux:8'
137136 name : Install emscripten
138137 run : &emscripten |
@@ -166,16 +165,13 @@ jobs:
166165 cd emsdk
167166 source ./emsdk_env.sh
168167 cd ..
169- ${{ env.MAKE }} _build/bindist/haskell-toolchain .tar.gz _build/bindist/tests.tar.gz
168+ ${{ env.MAKE }} _build/bindist/ghc.tar.gz _build/bindist/ghc-javascript-unknown-ghcjs .tar.gz _build/bindist/tests.tar.gz
170169 else
171- echo $PWD
172- ${{ env.MAKE }} --debug _build/bindist/ghc.tar.gz _build/bindist/cabal.tar.gz _build/bindist/tests.tar.gz
170+ ${{ env.MAKE }} _build/bindist/ghc.tar.gz _build/bindist/tests.tar.gz
173171 fi
174172 cd _build/bindist
175173 mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${ARTIFACT}.tar.gz
176- mv cabal.tar.gz cabal-$(bin/cabal --numeric-version)-${ARTIFACT}.tar.gz
177- if [ -e "haskell-toolchain.tar.gz" ] ; then
178- mv haskell-toolchain.tar.gz haskell-toolchain-${ARTIFACT}.tar.gz
174+ if [ -e "ghc-javascript-unknown-ghcjs.tar.gz" ] ; then
179175 mv ghc-javascript-unknown-ghcjs.tar.gz ghc-javascript-unknown-ghcjs-$(bin/ghc --numeric-version)-${ARTIFACT}.tar.gz
180176 fi
181177 mv tests.tar.gz tests-${ARTIFACT}.tar.gz
@@ -215,13 +211,13 @@ jobs:
215211 uses : docker://arm64v8/debian:11
216212 name : Run build (aarch64 linux)
217213 with :
218- args : sh -c "apt-get update && apt-get install -y curl bash git ${{ needs.tool-output.outputs.apt_tools_build }} && export PATH=$HOME/.ghcup/bin:$PATH && curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh && make CABAL=$PWD/_build/stage0/bin/cabal _build/bindist/ ghc.tar.gz _build/bindist/cabal .tar.gz _build/bindist/tests.tar.gz && cd _build/bindist && mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv cabal.tar.gz cabal-$(bin/cabal --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv tests.tar.gz tests-${{ matrix.platform.ARTIFACT }}.tar.gz"
214+ args : sh -c "apt-get update && apt-get install -y curl bash git ${{ needs.tool-output.outputs.apt_tools_build }} && export PATH=$HOME/.ghcup/bin:$PATH && curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh && ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/refs/heads/stable-haskell-0.0.1/stable-haskell-0.0.9.yaml && ghcup install ghc --set ${{ env.GHC_VERSION }} && ghcup install cabal --set ${{ env.CABAL_VERSION }} && make USE_SYSTEM_CABAL=1 _build/bindist/ghc .tar.gz _build/bindist/tests.tar.gz && cd _build/bindist && mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv tests.tar.gz tests-${{ matrix.platform.ARTIFACT }}.tar.gz"
219215
220216 - if : matrix.platform.ARTIFACT == 'aarch64-linux-unknown'
221217 uses : docker://arm64v8/alpine:3.20
222218 name : Run build (aarch64 linux alpine)
223219 with :
224- args : sh -c "apk update && apk add curl bash git ${{ needs.tool-output.outputs.apk_tools_build }} && export PATH=$HOME/.ghcup/bin:$PATH && curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh && make CABAL=$PWD/_build/stage0/bin/cabal _build/bindist/ ghc.tar.gz _build/bindist/cabal .tar.gz _build/bindist/tests.tar.gz && cd _build/bindist && mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv cabal.tar.gz cabal-$(bin/cabal --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv tests.tar.gz tests-${{ matrix.platform.ARTIFACT }}.tar.gz"
220+ args : sh -c "apk update && apk add curl bash git ${{ needs.tool-output.outputs.apk_tools_build }} && export PATH=$HOME/.ghcup/bin:$PATH && curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh && ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/refs/heads/stable-haskell-0.0.1/stable-haskell-0.0.9.yaml && ghcup install ghc --set ${{ env.GHC_VERSION }} && ghcup install cabal --set ${{ env.CABAL_VERSION }} && make USE_SYSTEM_CABAL=1 _build/bindist/ghc .tar.gz _build/bindist/tests.tar.gz && cd _build/bindist && mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${{ matrix.platform.ARTIFACT }}.tar.gz && mv tests.tar.gz tests-${{ matrix.platform.ARTIFACT }}.tar.gz"
225221
226222 - if : always()
227223 name : Upload artifact
@@ -255,6 +251,7 @@ jobs:
255251 with :
256252 cabal : ${{ env.CABAL_VERSION }}
257253 ghc : ${{ env.GHC_VERSION }}
254+ config : *ghcup-config
258255
259256 - name : Install dependencies
260257 run : |
@@ -263,9 +260,6 @@ jobs:
263260 echo "/usr/local/opt/make/libexec/gnubin" >> $GITHUB_PATH
264261 echo "/usr/local/opt/libtool/libexec/gnubin" >> $GITHUB_PATH
265262
266- - name : Add extra-lib-dirs
267- run : *extra-lib-dirs
268-
269263 - name : Install emscripten
270264 run : *emscripten
271265
@@ -305,6 +299,7 @@ jobs:
305299 with :
306300 cabal : ${{ env.CABAL_VERSION }}
307301 ghc : ${{ env.GHC_VERSION }}
302+ config : *ghcup-config
308303
309304 - name : Install dependencies
310305 run : |
@@ -313,9 +308,6 @@ jobs:
313308 echo "/opt/homebrew/opt/make/libexec/gnubin" >> $GITHUB_PATH
314309 echo "/opt/homebrew/opt/libtool/libexec/gnubin" >> $GITHUB_PATH
315310
316- - name : Add extra-lib-dirs
317- run : *extra-lib-dirs
318-
319311 - name : Run build
320312 run : *build
321313
@@ -359,6 +351,7 @@ jobs:
359351 with :
360352 cabal : ${{ env.CABAL_VERSION }}
361353 ghc : ${{ env.GHC_VERSION }}
354+ config : *ghcup-config
362355 env :
363356 GHCUP_MSYS2 : ' C:/msys64'
364357
@@ -401,6 +394,7 @@ jobs:
401394 with :
402395 cabal : ${{ env.CABAL_VERSION }}
403396 ghc : ${{ env.GHC_VERSION }}
397+ config : *ghcup-config
404398 env :
405399 LD : ld
406400 CC : cc
@@ -427,9 +421,6 @@ jobs:
427421 sudo tzsetup Etc/GMT
428422 sudo adjkerntz -a
429423
430- - name : Add extra-lib-dirs
431- run : *extra-lib-dirs
432-
433424 - name : Install emscripten
434425 run : |
435426 sudo pkg install -y emscripten
@@ -439,11 +430,9 @@ jobs:
439430 which ghc
440431 ghc --info
441432 cabal update
442- gmake CABAL=$PWD/ _build/stage0/bin/cabal _build/bindist/haskell-toolchain .tar.gz _build/bindist/tests.tar.gz
433+ gmake _build/bindist/ghc.tar.gz _build/bindist/ghc-javascript-unknown-ghcjs .tar.gz _build/bindist/tests.tar.gz
443434 cd _build/bindist
444435 mv ghc.tar.gz ghc-$(bin/ghc --numeric-version)-${{ env.ARTIFACT }}.tar.gz
445- mv cabal.tar.gz cabal-$(bin/cabal --numeric-version)-${{ env.ARTIFACT }}.tar.gz
446- mv haskell-toolchain.tar.gz haskell-toolchain-${{ env.ARTIFACT }}.tar.gz
447436 mv ghc-javascript-unknown-ghcjs.tar.gz ghc-javascript-unknown-ghcjs-$(bin/ghc --numeric-version)-${{ env.ARTIFACT }}.tar.gz
448437 mv tests.tar.gz tests-${{ env.ARTIFACT }}.tar.gz
449438 env :
0 commit comments