async kernels with native even loop -- no libuv #725
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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-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: Install xeus-python-shell from GitHub | |
| run: pip install git+https://github.com/DerThorsten/xeus-python-shell.git@libuv | |
| - 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: Build | |
| # run: cmake --build . --target xeus-python --verbose -j ${{ runner.os == 'macOS' && 3 || 4 }} | |
| # working-directory: build | |
| # - name: Inspect build lib | |
| # run: nm build/libxeus-python.so | grep raw_interpreter | |
| - name: Build all targets | |
| run: cmake --build . --verbose -j ${{ runner.os == 'macOS' && 3 || 4 }} | |
| working-directory: build | |
| - name: Install | |
| run: cmake --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: Install xeus-python-shell from GitHub | |
| shell: cmd /C call {0} | |
| run: pip install git+https://github.com/DerThorsten/xeus-python-shell.git@libuv | |
| - 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 . -s -vvv | |
| - name: Test xeus-python C++ | |
| shell: cmd /C call {0} | |
| run: | | |
| test_xeus_python | |
| timeout-minutes: 4 | |
| working-directory: build\test | |