Skip to content

Add everything in notebooks dir (#669) #595

Add everything in notebooks dir (#669)

Add everything in notebooks dir (#669) #595

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
defaults:
run:
shell: bash -l {0}
jobs:
test-unix:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
build_type: [static_build, shared_build]
steps:
- uses: actions/checkout@v5
- name: Install micromamba
uses: mamba-org/setup-micromamba@v2
with:
environment-file: environment-dev.yml
- name: Make build directory
run: mkdir build
- name: Static build option
if: matrix.build_type == 'static_build'
run: |
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DXPYT_BUILD_SHARED=OFF -DXPYT_USE_SHARED_XEUS_PYTHON=OFF"
echo "CMAKE_EXTRA_ARGS=$CMAKE_EXTRA_ARGS" >> $GITHUB_ENV
- name: Shared build option
if: matrix.build_type == 'shared_build'
run: |
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DXPYT_BUILD_STATIC=OFF"
echo "CMAKE_EXTRA_ARGS=$CMAKE_EXTRA_ARGS" >> $GITHUB_ENV
- name: Configure cmake
run: |
cmake .. \
-D CMAKE_PREFIX_PATH=$CONDA_PREFIX \
-D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-D CMAKE_INSTALL_LIBDIR=lib \
-D PYTHON_EXECUTABLE=`which python` \
-D XPYT_BUILD_TESTS=ON \
-D CMAKE_C_COMPILER=$CC \
-D CMAKE_CXX_COMPILER=$CXX \
${{ env.CMAKE_EXTRA_ARGS }}
working-directory: build
- name: Install
run: make -j ${{ runner.os == 'macOS' && 3 || 4 }} install
working-directory: build
- name: Print version
run: xpython --version
- name: Test xeus-python C++
run: ./test_xeus_python
timeout-minutes: 4
working-directory: build/test
- name: Test xeus-python Python
run: pytest . -vvv
test-win:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
build_type: [static_build, shared_build]
steps:
- uses: actions/checkout@v5
- name: Install micromamba
uses: mamba-org/setup-micromamba@v2
with:
init-shell: cmd.exe
environment-file: environment-dev.yml
- name: Make build directory
run: mkdir build
- name: Static build option
if: matrix.build_type == 'static_build'
run: |
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DXPYT_BUILD_SHARED=OFF -DXPYT_USE_SHARED_XEUS_PYTHON=OFF"
echo "CMAKE_EXTRA_ARGS=$CMAKE_EXTRA_ARGS" >> $GITHUB_ENV
- name: Shared build option
if: matrix.build_type == 'shared_build'
run: |
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DXPYT_BUILD_STATIC=OFF"
echo "CMAKE_EXTRA_ARGS=$CMAKE_EXTRA_ARGS" >> $GITHUB_ENV
- name: Configure cmake
shell: cmd /C call {0}
run: |
cmake .. ^
-GNinja ^
-DCMAKE_BUILD_TYPE=Release ^
-DXPYT_BUILD_TESTS=ON ^
-DCMAKE_INSTALL_PREFIX="%CONDA_PREFIX%\Library" ^
-DXEXTRA_JUPYTER_DATA_DIR=%CONDA_PREFIX%\share\jupyter ^
-DXPYT_BUILD_XPYTHON_EXTENSION=ON ^
-DXEUS_PYTHONHOME_RELPATH=..\\ ^
-DCMAKE_CXX_FLAGS=/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING ^
${{ env.CMAKE_EXTRA_ARGS }}
working-directory: build
- name: Build and install
shell: cmd /C call {0}
run: |
set CL=/MP
ninja install
working-directory: build
- name: Test xeus-python Python
shell: cmd /C call {0}
run: pytest . -vvv
- name: Test xeus-python C++
shell: cmd /C call {0}
run: |
micromamba activate xeus-python
test_xeus_python
timeout-minutes: 4
working-directory: build\test