Skip to content

unify wasm options #222

unify wasm options

unify wasm options #222

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
defaults:
run:
shell: bash -l {0}
jobs:
unix:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-11, macos-12]
xeus_static_dependencies: [0]
xeus_build_shared_lib: [1]
include:
- os: ubuntu-22.04
xeus_static_dependencies: 1
xeus_build_shared_lib: 0
- os: ubuntu-20.04
xeus_static_dependencies: 1
xeus_build_shared_lib: 0
steps:
- uses: actions/checkout@v2
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
- name: install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xeus
- name: install cxx compiler
shell: bash -l {0}
run: |
$HOME/micromamba-bin/micromamba install cxx-compiler libuuid -c conda-forge -y
- name: cmake configure
shell: bash -l {0}
run: |
mkdir -p build
cd build
cmake .. \
-DXEUS_BUILD_TESTS=ON \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-DXEUS_STATIC_DEPENDENCIES=${{ matrix.xeus_static_dependencies }} \
-DXEUS_BUILD_SHARED_LIBS=${{ matrix.xeus_build_shared_lib }}
- name: build
shell: bash -l {0}
run: |
cd build
make -j 2
# make -j ${{ steps.cpu-cores.outputs.count }}
- name: Test xeus
uses: nick-invision/retry@v2
with:
timeout_minutes: 4
max_attempts: 4
shell: bash
command: |
cd build/test
ctest --output-on-failure
- name: install xeus
shell: bash -l {0}
run: |
cd build
make install
win:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ windows-2019, windows-2022 ]
steps:
- uses: actions/checkout@v2
- name: install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xeus
- name: micromamba shell hook
shell: powershell
run: |
micromamba shell hook -s cmd.exe -p C:\Users\runneradmin\micromamba-root
- name: Make build directory
run: mkdir build
- name: cmake configure
shell: cmd
run: |
call C:\Users\runneradmin\micromamba-root\condabin\micromamba.bat activate xeus
cmake .. ^
-G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DXEUS_BUILD_TESTS=ON ^
-DDEPENDENCY_SEARCH_PREFIX="%CONDA_PREFIX%\Library" ^
-DCMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library" ^
-DCMAKE_INSTALL_PREFIX="%CONDA_PREFIX%"
working-directory: build
- name: build
shell: cmd
run: |
call C:\Users\runneradmin\micromamba-root\condabin\micromamba.bat activate xeus
set CL=/MP
ninja install
working-directory: build
- name: ctest
uses: nick-invision/retry@v2
with:
timeout_minutes: 4
max_attempts: 4
shell: cmd
command: |
call C:\Users\runneradmin\micromamba-root\condabin\micromamba.bat activate xeus
set PATH=%CONDA_PREFIX%;%CONDA_PREFIX%\\Scripts;%CONDA_PREFIX%\\Library;%CONDA_PREFIX%\\Library\\bin;%PATH%
cd build
ctest --output-on-failure
emscripten_wasm:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
emsdk_ver: ["2.0.32", "3.1.2"]
steps:
- uses: actions/checkout@v2
- name: Install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-wasm-build.yml
environment-name: xeus-wasm-build
- name: Setup emsdk
run: |
micromamba activate xeus-wasm-build
emsdk install ${{matrix.emsdk_ver}}
- name: Build and pack xeus
run: |
micromamba activate xeus-wasm-build
emsdk activate ${{matrix.emsdk_ver}}
source $CONDA_EMSDK_DIR/emsdk_env.sh
micromamba create -f environment-wasm-host.yml --platform=emscripten-32
mkdir build
pushd build
export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-wasm-build
export PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-wasm-host
export CMAKE_PREFIX_PATH=$PREFIX
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
emcmake cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
-DXEUS_EMSCRIPTEN_WASM_BUILD=ON \
..
make -j5