Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/deploy-github-page.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,17 @@ jobs:
-DSYSROOT_PATH=$SYSROOT_PATH \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
..
emmake make -j ${{ env.ncpus }} check-xeus-cpp

micromamba create -n node-env -c conda-forge nodejs=22
export PATH="$MAMBA_ROOT_PREFIX/envs/node-env/bin:$PATH"

make check-xeus-cpp
emmake make -j ${{ env.ncpus }} install

- name: Test Emscripten xeus-cpp in browser
shell: bash -l {0}
run: |
set -e
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyter_server jupyterlite-xeus
micromamba activate xeus-lite-host
cd build/test
# Fresh install browsers, and run Emscripten tests in them
# This is to match the Emscripten build instructions, where
Expand Down Expand Up @@ -140,6 +142,7 @@ jobs:
- name: Jupyter Lite integration
shell: bash -l {0}
run: |
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyter_server jupyterlite-xeus -c conda-forge
micromamba activate xeus-lite-host
jupyter lite build \
--XeusAddon.prefix=${{ env.PREFIX }} \
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,6 @@ jobs:
os: ubuntu-24.04
- name: osx15-arm
os: macos-15
- name: osx26-arm
os: macos-26

steps:
- uses: actions/checkout@v5
Expand Down Expand Up @@ -238,16 +236,17 @@ jobs:
-DSYSROOT_PATH=$SYSROOT_PATH \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
..
emmake make -j ${{ env.ncpus }} check-xeus-cpp

micromamba create -n node-env -c conda-forge nodejs=22
export PATH="$MAMBA_ROOT_PREFIX/envs/node-env/bin:$PATH"

make check-xeus-cpp
emmake make -j ${{ env.ncpus }} install

- name: Test Emscripten xeus-cpp in browser
shell: bash -l {0}
run: |
export BUILD_PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-cpp-wasm-build
set -e
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyterlite-xeus
micromamba activate xeus-lite-host
cd build/test
# Fresh install browsers, and run Emscripten tests in them
# This is to match the Emscripten build instructions, where
Expand Down Expand Up @@ -320,6 +319,7 @@ jobs:
- name: Jupyter Lite integration
shell: bash -l {0}
run: |
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyterlite-xeus -c conda-forge
micromamba activate xeus-lite-host
jupyter lite build --XeusAddon.prefix=${{ env.PREFIX }}

Expand Down
15 changes: 7 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ micromamba create -f environment-wasm-build.yml -y
micromamba activate xeus-cpp-wasm-build
```

You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following
You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following. Prefer using node 22 and above as prior versions lead to flaky test runs. Once the test pass, run the install command.

```bash
micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32
Expand All @@ -91,7 +91,12 @@ emcmake cmake \
-DCMAKE_FIND_ROOT_PATH=$PREFIX \
-DSYSROOT_PATH=$SYSROOT_PATH \
..
emmake make check-xeus-cpp

micromamba create -n node-env -c conda-forge nodejs=22
export PATH="$MAMBA_ROOT_PREFIX/envs/node-env/bin:$PATH"

make check-xeus-cpp
emmake make install
```

It is possible to run the Emscripten tests in a headless browser. We will run our tests in a fresh installed browser. Installing the browsers, and running the tests within the installed browsers will be platform dependent. To do this for Chrome and Firefox on MacOS execute the following
Expand Down Expand Up @@ -148,12 +153,6 @@ echo "Running test_xeus_cpp in Google Chrome"
python $BUILD_PREFIX/bin/emrun.py --browser="google-chrome" --kill_exit --timeout 60 --browser-args="--headless --no-sandbox" test_xeus_cpp.html
```

After you have checked that the kernel passes all the tests, you can install it by executing

```bash
emmake make install
```

To build and test Jupyter Lite with this kernel locally you can execute the following
```bash
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyter_server jupyterlite-xeus -c conda-forge
Expand Down
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ micromamba create -f environment-wasm-build.yml -y
micromamba activate xeus-cpp-wasm-build
```

You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following
You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following. Prefer using node 22 and above as prior versions lead to flaky test runs. Once the test pass, run the install command.
```bash
micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32
mkdir build
Expand All @@ -106,7 +106,12 @@ emcmake cmake \
-DCMAKE_FIND_ROOT_PATH=$PREFIX \
-DSYSROOT_PATH=$SYSROOT_PATH \
..
emmake make check-xeus-cpp

micromamba create -n node-env -c conda-forge nodejs=22
export PATH="$MAMBA_ROOT_PREFIX/envs/node-env/bin:$PATH"

make check-xeus-cpp
emmake make install
```

It is possible to run the Emscripten tests in a headless browser. We will run our tests in a fresh installed browser. Installing the browsers, and running the tests within the installed browsers will be platform dependent. To do this for Chrome and Firefox on MacOS execute the following
Expand Down Expand Up @@ -163,12 +168,6 @@ echo "Running test_xeus_cpp in Google Chrome"
python $BUILD_PREFIX/bin/emrun.py --browser="google-chrome" --kill_exit --timeout 60 --browser-args="--headless --no-sandbox" test_xeus_cpp.html
```

After you have checked that the kernel passes all the tests, you can install it by executing

```bash
emmake make install
```

To build and test Jupyter Lite with this kernel locally you can execute the following
```bash
micromamba create -n xeus-lite-host jupyterlite-core=0.6 jupyter_server jupyterlite-xeus -c conda-forge
Expand Down
15 changes: 7 additions & 8 deletions docs/source/InstallationAndUsage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ the following
micromamba create -f environment-wasm-build.yml -y
micromamba activate xeus-cpp-wasm-build

You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following
You are now in a position to build the xeus-cpp kernel. You build and test it in node by executing the following. Prefer using node 22 and above as prior versions lead to flaky test runs. Once the test pass, run the install command.

.. code-block:: bash

Expand All @@ -86,7 +86,12 @@ You are now in a position to build the xeus-cpp kernel. You build and test it in
-DCMAKE_FIND_ROOT_PATH=$PREFIX \
-DSYSROOT_PATH=$SYSROOT_PATH \
..
emmake make check-xeus-cpp

micromamba create -n node-env -c conda-forge nodejs=22
export PATH="$MAMBA_ROOT_PREFIX/envs/node-env/bin:$PATH"

make check-xeus-cpp
emmake make install

It is possible to run the Emscripten tests in a headless browser. We will run our tests in a fresh installed browser. Installing the browsers, and running the tests within the installed browsers will be platform dependent. To do this for Chrome and Firefox on MacOS execute the following

Expand Down Expand Up @@ -142,12 +147,6 @@ To do this on Ubuntu x86 execute the following
echo "Running test_xeus_cpp in Google Chrome"
python $BUILD_PREFIX/bin/emrun.py --browser="google-chrome" --kill_exit --timeout 60 --browser-args="--headless --no-sandbox" test_xeus_cpp.html

After you have checked that the kernel passes all the tests, you can install it by executing

.. code-block:: bash

emmake make install

To build and test Jupyter Lite with this kernel locally you can execute the following

.. code-block:: bash
Expand Down