forked from pybind/pybind11
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: Python 3.12 optional test job (pybind#4575)
* ci: Python 3.12 optional testing Signed-off-by: Henry Schreiner <[email protected]> * Skip test_flaky_exception_failure_point_init() for Python 3.12.0a6 (similar to google/pybind11clif@af5c653#diff-f46006e3f43ffb1dd5d6862005427f6620f4dcfb1fa2f883d8482550069eeecc). * Disable tests/test_embed/test_interpreter.cpp (broken with Python 3.12.0alpha6) ``` free(): invalid pointer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test_embed is a Catch v2.13.9 host application. Run with -? for options ------------------------------------------------------------------------------- Custom PyConfig ------------------------------------------------------------------------------- /home/runner/work/pybind11/pybind11/tests/test_embed/test_interpreter.cpp:175 ............................................................................... /home/runner/work/pybind11/pybind11/tests/test_embed/test_interpreter.cpp:179: FAILED: {Unknown expression after the reported line} due to a fatal error condition: SIGABRT - Abort (abnormal termination) signal =============================================================================== test cases: 6 | 5 passed | 1 failed assertions: 1518 | 1517 passed | 1 failed ``` --------- Signed-off-by: Henry Schreiner <[email protected]> Co-authored-by: Ralf W. Grosse-Kunstleve <[email protected]>
- Loading branch information
Showing
2 changed files
with
34 additions
and
31 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,103 +10,101 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
env: | ||
PIP_ONLY_BINARY: numpy | ||
PIP_ONLY_BINARY: ":all:" | ||
# For cmake: | ||
VERBOSE: 1 | ||
|
||
jobs: | ||
standard: | ||
name: "🐍 3.11 latest internals • ubuntu-latest • x64" | ||
name: "🐍 3.12 latest • ubuntu-latest • x64" | ||
runs-on: ubuntu-latest | ||
# Only runs when the 'python dev' label is selected | ||
if: "contains(github.event.pull_request.labels.*.name, 'python dev')" | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup Python 3.11 | ||
- name: Setup Python 3.12 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.11-dev" | ||
python-version: "3.12-dev" | ||
|
||
- name: Setup Boost (Linux) | ||
if: runner.os == 'Linux' | ||
- name: Setup Boost | ||
run: sudo apt-get install libboost-dev | ||
|
||
- name: Update CMake | ||
uses: jwlawson/[email protected] | ||
|
||
- name: Prepare env | ||
- name: Run pip installs | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install -r tests/requirements.txt | ||
- name: Setup annotations on Linux | ||
if: runner.os == 'Linux' | ||
run: python -m pip install pytest-github-actions-annotate-failures | ||
- name: Show platform info | ||
run: | | ||
python -m platform | ||
cmake --version | ||
pip list | ||
# First build - C++11 mode and inplace | ||
- name: Configure C++11 | ||
run: > | ||
cmake -S . -B . | ||
cmake -S . -B build11 | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=11 | ||
-DCMAKE_BUILD_TYPE=Debug | ||
- name: Build C++11 | ||
run: cmake --build . -j 2 | ||
run: cmake --build build11 -j 2 | ||
|
||
- name: Python tests C++11 | ||
run: cmake --build . --target pytest -j 2 | ||
run: cmake --build build11 --target pytest -j 2 | ||
|
||
- name: C++11 tests | ||
run: cmake --build . --target cpptest -j 2 | ||
# - name: C++11 tests | ||
# run: cmake --build build11 --target cpptest -j 2 | ||
|
||
- name: Interface test C++11 | ||
run: cmake --build . --target test_cmake_build | ||
|
||
- name: Clean directory | ||
run: git clean -fdx | ||
run: cmake --build build11 --target test_cmake_build | ||
|
||
# Second build - C++17 mode and in a build directory | ||
- name: Configure C++17 | ||
run: > | ||
cmake -S . -B build2 | ||
cmake -S . -B build17 | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
${{ matrix.args }} | ||
${{ matrix.args2 }} | ||
- name: Build | ||
run: cmake --build build2 -j 2 | ||
run: cmake --build build17 -j 2 | ||
|
||
- name: Python tests | ||
run: cmake --build build2 --target pytest | ||
run: cmake --build build17 --target pytest | ||
|
||
- name: C++ tests | ||
run: cmake --build build2 --target cpptest | ||
# - name: C++ tests | ||
# run: cmake --build build17 --target cpptest | ||
|
||
# Third build - C++17 mode with unstable ABI | ||
- name: Configure (unstable ABI) | ||
run: > | ||
cmake -S . -B build3 | ||
cmake -S . -B build17max | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
-DPYBIND11_INTERNALS_VERSION=10000000 | ||
"-DPYBIND11_TEST_OVERRIDE=test_call_policies.cpp;test_gil_scoped.cpp;test_thread.cpp" | ||
${{ matrix.args }} | ||
- name: Build (unstable ABI) | ||
run: cmake --build build3 -j 2 | ||
run: cmake --build build17max -j 2 | ||
|
||
- name: Python tests (unstable ABI) | ||
run: cmake --build build3 --target pytest | ||
run: cmake --build build17max --target pytest | ||
|
||
- name: Interface test | ||
run: cmake --build build3 --target test_cmake_build | ||
run: cmake --build build17max --target test_cmake_build | ||
|
||
# This makes sure the setup_helpers module can build packages using | ||
# setuptools | ||
|
This file contains 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