Test WASM backend #68
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Haskell CI | |
on: | |
- push | |
- pull_request | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ghc: ['8.4', '8.6', '8.8', '8.10', '9.0', '9.2', '9.4', '9.6', '9.8'] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: haskell-actions/setup@v2 | |
id: setup-haskell | |
with: | |
ghc-version: ${{ matrix.ghc }} | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
${{ steps.setup-haskell.outputs.cabal-store }} | |
dist-newstyle | |
key: ${{ runner.os }}-${{ matrix.ghc }} | |
- name: Build | |
run: cabal build | |
- name: Test | |
run: cabal test --enable-tests --test-show-details=direct | |
js: | |
runs-on: ubuntu-latest | |
env: | |
version: javascript-unknown-ghcjs-9.6.2 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup | |
run: | | |
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/develop/ghcup-cross-0.0.8.yaml | |
cabal update | |
- name: Install JS toolchain | |
run: | | |
git clone https://github.com/emscripten-core/emsdk.git | |
cd emsdk | |
./emsdk install latest | |
./emsdk activate latest | |
source ./emsdk_env.sh | |
cd .. | |
emconfigure ghcup install ghc --set ${{ env.version }} | |
- name: Build | |
run: | | |
cabal --with-compiler=javascript-unknown-ghcjs-ghc --with-hc-pkg=javascript-unknown-ghcjs-ghc-pkg build | |
wasm: | |
runs-on: ubuntu-latest | |
env: | |
version: wasm32-wasi-9.8.1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup | |
run: | | |
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/develop/ghcup-cross-0.0.8.yaml | |
cabal update | |
- name: Install WASM toolchain | |
run: | | |
git clone https://gitlab.haskell.org/ghc/ghc-wasm-meta.git | |
cd ghc-wasm-meta/ | |
export SKIP_GHC=yes | |
./setup.sh | |
source ~/.ghc-wasm/env | |
cd .. | |
ghcup install ghc --set ${{ env.version }} -- --host=x86_64-linux --with-intree-gmp --with-system-libffi | |
- name: Build | |
run: | | |
cabal --with-compiler=wasm32-wasi-ghc --with-hc-pkg=wasm32-wasi-ghc-pkg build | |
- name: Test | |
run: | | |
cabal --with-compiler=wasm32-wasi-ghc --with-hc-pkg=wasm32-wasi-ghc-pkg test --enable-tests --test-show-details=direct |