Skip to content

Commit d2c3e1b

Browse files
committed
Use ghcup to install wasm
1 parent f2891f0 commit d2c3e1b

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

.github/workflows/ci-wasm32-wasi.yml

+25-3
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,45 @@ on:
77
jobs:
88
build:
99
runs-on: ubuntu-20.04
10+
env:
11+
GHC: 9.10.1.20241021
1012
steps:
13+
- name: Install GHCup
14+
id: ghcup
15+
uses: haskell/ghcup-setup@v1
16+
with:
17+
cabal: latest-prerelease
18+
config: |
19+
url-source:
20+
- GHCupURL
21+
- cross
22+
- prereleases
1123
1224
- name: setup-ghc-wasm32-wasi
1325
run: |
26+
set -eux
1427
pushd $(mktemp -d)
15-
curl -L https://gitlab.haskell.org/ghc/ghc-wasm-meta/-/archive/master/ghc-wasm-meta-master.tar.gz | tar xz --strip-components=1
28+
git clone https://gitlab.haskell.org/ghc/ghc-wasm-meta.git
29+
cd ghc-wasm-meta/
30+
export SKIP_GHC=yes
1631
./setup.sh
17-
~/.ghc-wasm/add_to_github_path.sh
1832
popd
33+
source ~/.ghc-wasm/env
34+
ghc=$(ghcup -s cross list -r -t ghc -o | grep wasm | tail -1 | awk '{ print $2 }')
35+
ghcup install ghc --set ${ghc} -- --host=x86_64-linux --with-intree-gmp --with-system-libffi
1936
2037
- uses: actions/checkout@v4
2138

2239
- name: test
2340
run: |
41+
set -eux
42+
43+
source ~/.ghc-wasm/env
44+
cabal update
45+
2446
cp ~/.ghc-wasm/wasi-sdk/share/misc/config.* .
2547
autoreconf -i
2648
27-
wasm32-wasi-cabal --project-file=cabal.project.wasm32-wasi build
49+
cabal --project-file=cabal.project.wasm32-wasi build -w wasm32-wasi-ghc --with-ghc-pkg=wasm32-wasi-ghc-pkg --with-hsc2hs=wasm32-wasi-hsc2hs --with-gcc=wasm32-wasi-clang
2850
2951
./test-wasm32-wasi.mjs

0 commit comments

Comments
 (0)