Skip to content

Make emscripten easier to use. #260

Make emscripten easier to use.

Make emscripten easier to use. #260

Workflow file for this run

name: MicroHs CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
# Using
# runs-on: ubuntu-latest
# fails, so use an older Ubuntu
jobs:
build-linux-x86_64:
runs-on: ubuntu-22.04
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make
- name: make everytestmhs
run: make everytestmhs
- name: Cabal cache
uses: actions/cache@v3
env:
cache-name: cache-cabal
with:
path: ~/.cabal
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/cabal.project') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: |
cabal update
cabal build --only-dependencies
- name: Build
run: cabal build
build-linux-micro-x86_64:
runs-on: ubuntu-22.04
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make CONF=micro-64
build-macos:
runs-on: macos-latest
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make
- name: make everytestmhs
run: make everytestmhs
# cabal is missing
# - name: cabal build
# run: cabal build
build-windows:
runs-on: windows-latest
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: nmake
run: nmake -f Makefile.windows
- name: nmake exampletest
run: nmake -f Makefile.windows exampletest
build-linux-aarch64:
runs-on: ubuntu-22.04
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: aarch64
branch: v3.15
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make
- name: make everytestmhs
run: make everytestmhs
# - name: cabal build
# run: cabal build
build-linux-s390x:
runs-on: ubuntu-22.04
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: s390x
branch: v3.15
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make
- name: make everytestmhs
run: make everytestmhs
# - name: cabal build
# run: cabal build
build-linux-x86:
runs-on: ubuntu-latest
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: x86
branch: v3.15
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make CONF=unix-32
shell: alpine.sh {0}
- name: make everytestmhs
run: make CONF=unix-32 everytestmhs
shell: alpine.sh {0}
build-linux-armv7:
runs-on: ubuntu-22.04
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: armv7
branch: v3.15
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make CONF=unix-32
shell: alpine.sh {0}
- name: make everytestmhs
run: make CONF=unix-32 everytestmhs
shell: alpine.sh {0}
build-linux-riscv64:
runs-on: ubuntu-22.04
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: riscv64
branch: v3.20
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make CONF=unix-64
shell: alpine.sh {0}
- name: make everytestmhs
run: make CONF=unix-64 everytestmhs
shell: alpine.sh {0}
build-linux-ppc64le:
runs-on: ubuntu-22.04
steps:
- uses: jirutka/setup-alpine@v1
with:
arch: ppc64le
branch: v3.15
packages: >
build-base
gcc
make
- name: checkout repo
uses: actions/checkout@v4
- name: make
run: make CONF=unix-64
shell: alpine.sh {0}
- name: make everytestmhs
run: make CONF=unix-64 everytestmhs
shell: alpine.sh {0}
# build-linux-ppc64be:
# runs-on: ubuntu-22.04
# steps:
# - uses: jirutka/setup-alpine@v1
# with:
# arch: ppc64be
# branch: v3.15
# packages: >
# build-base
# gcc
# make
# - name: checkout repo
# uses: actions/checkout@v4
# - name: make
# run: make CONF=unix-64
# shell: alpine.sh {0}
# - name: make everytestmhs
# run: make CONF=unix-64 everytestmhs
# shell: alpine.sh {0}
build-linux-emscripten:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: mymindstorm/setup-emsdk@v13
- uses: actions/setup-node@v4
with:
node-version: 20
- name: run emscripten tests
run: make emscripten
build-macos-emscripten:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: mymindstorm/setup-emsdk@v13
- uses: actions/setup-node@v4
with:
node-version: 20
- name: run emscripten tests
run: make emscripten