Skip to content

Classify (#47)

Classify (#47) #232

Workflow file for this run

name: CI
on:
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-latest, macos-latest]
luajit: [ON, OFF]
steps:
- uses: actions/checkout@v4
- name: install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xeus-lua
- name: install cxx compiler
shell: bash -l {0}
run: |
$HOME/micromamba-bin/micromamba install cxx-compiler -c conda-forge -y
- name: install luajit
shell: bash -l {0}
run: |
$HOME/micromamba-bin/micromamba install luajit -c conda-forge -y
if: matrix.luajit == 'ON'
- name: cmake configure
shell: bash -l {0}
run: |
mkdir -p bld
cd bld
cmake .. \
-DXLUA_WITH_XWIDGETS=ON\
-DXLUA_WITH_XCANVAS=ON\
-DXEUS_LUA_USE_LUAJIT=${{matrix.luajit}} \
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
-DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
- name: build
shell: bash -l {0}
run: |
cd bld
make -j8
- name: install
shell: bash -l {0}
run: |
cd bld
make install
# - name: test
# shell: bash -l {0}
# run: |
# cd test
# pytest .
win:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ windows-latest]
steps:
- uses: actions/checkout@v4
- name: install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-dev.yml
environment-name: xeus-lua
- name: micromamba shell hook
shell: powershell
run: |
micromamba shell hook -s cmd.exe -p C:\Users\runneradmin\micromamba-root
- name: cmake configure
shell: powershell
run: |
mkdir -p bld
cd bld
cmake .. -DCMAKE_BUILD_TYPE=Release -DDEPENDENCY_SEARCH_PREFIX="%CONDA_PREFIX%\Library" -DCMAKE_PREFIX_PATH="%CONDA_PREFIX%\Library"
- name: build
shell: powershell
run: |
cd bld
cmake --build . --target ALL_BUILD
emscripten_wasm:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
emsdk_ver: ["3.1.45"]
steps:
- uses: actions/checkout@v4
- name: Install mamba
uses: mamba-org/provision-with-micromamba@main
with:
environment-file: environment-wasm-build.yml
environment-name: xeus-lua-wasm-build
- name: Setup emsdk
run: |
micromamba activate xeus-lua-wasm-build
emsdk install ${{matrix.emsdk_ver}}
- name: Build xeus-lua
run: |
micromamba activate xeus-lua-wasm-build
emsdk activate ${{matrix.emsdk_ver}}
source $CONDA_EMSDK_DIR/emsdk_env.sh
micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32
mkdir build
pushd build
export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-lua-wasm-build
export PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-lua-wasm-host
export CMAKE_PREFIX_PATH=$PREFIX
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
emcmake cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=$PREFIX \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DXEUS_LUA_EMSCRIPTEN_WASM_BUILD=ON \
-DXLUA_WITH_XWIDGETS=ON \
-DXLUA_USE_SHARED_XWIDGETS=OFF \
-DXLUA_WITH_XCANVAS=ON \
-DXLUA_USE_SHARED_XCANVAS=OFF \
-DLUA_INCLUDE_DIR=$PREFIX/include \
-DLUA_LIBRARY=$PREFIX/lib/liblua.a \
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
..
make -j5