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.
Snapshot of .github/workflows/python312.yml (PR pybind#4342)
- Loading branch information
Ralf W. Grosse-Kunstleve
committed
Nov 17, 2022
1 parent
c2e6b38
commit bb6c003
Showing
1 changed file
with
131 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,131 @@ | ||
name: Python312 | ||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
|
||
concurrency: | ||
group: python312-${{ github.ref }} | ||
cancel-in-progress: false | ||
|
||
env: | ||
PYTEST_TIMEOUT: 300 | ||
|
||
jobs: | ||
standard: | ||
name: "🐍 3.12 latest • ubuntu-latest • x64" | ||
runs-on: ubuntu-latest | ||
# if: "contains(github.event.pull_request.labels.*.name, 'python dev')" | ||
|
||
steps: | ||
- name: Show env | ||
run: env | ||
|
||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup Python 3.12 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.12-dev" | ||
|
||
- name: Setup Boost | ||
run: sudo apt-get install libboost-dev | ||
|
||
- name: Update CMake | ||
uses: jwlawson/actions-setup-cmake@v1.13 | ||
|
||
- name: Run pip installs | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install --prefer-binary -r tests/requirements.txt | ||
python -m pip install --prefer-binary numpy | ||
python -m pip install --prefer-binary scipy | ||
- name: Show platform info | ||
run: python -m platform | ||
|
||
- name: Show CMake version | ||
run: cmake --version | ||
|
||
# FIRST BUILD | ||
- name: Configure C++11 | ||
run: > | ||
cmake -S . -B build11 | ||
-DCMAKE_VERBOSE_MAKEFILE=ON | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=11 | ||
-DCMAKE_BUILD_TYPE=Debug | ||
- name: Build C++11 | ||
run: cmake --build build11 -j 2 | ||
|
||
- name: Python tests C++11 | ||
run: cmake --build build11 --target pytest -j 2 | ||
|
||
- name: C++ tests C++11 | ||
run: cmake --build build11 --target cpptest -j 2 | ||
|
||
- name: Interface test C++11 | ||
run: cmake --build build11 --target test_cmake_build | ||
|
||
- name: Clean directory | ||
run: git clean -fdx | ||
|
||
# SECOND BUILD | ||
- name: Configure C++17 | ||
run: > | ||
cmake -S . -B build17 | ||
-DCMAKE_VERBOSE_MAKEFILE=ON | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
-DCMAKE_BUILD_TYPE=Debug | ||
- name: Build C++17 | ||
run: cmake --build build17 -j 2 | ||
|
||
- name: Python tests C++17 | ||
run: cmake --build build17 --target pytest | ||
|
||
- name: C++ tests C++17 | ||
run: cmake --build build17 --target cpptest | ||
|
||
- name: Interface test C++17 | ||
run: cmake --build build17 --target test_cmake_build | ||
|
||
- name: Clean directory | ||
run: git clean -fdx | ||
|
||
# THIRD BUILD | ||
- name: Configure C++17 max DPYBIND11_INTERNALS_VERSION | ||
run: > | ||
cmake -S . -B build17max | ||
-DCMAKE_VERBOSE_MAKEFILE=ON | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
-DCMAKE_BUILD_TYPE=Debug | ||
-DPYBIND11_INTERNALS_VERSION=10000000 | ||
- name: Build C++17 max DPYBIND11_INTERNALS_VERSION | ||
run: cmake --build build17max -j 2 | ||
|
||
- name: Python tests C++17 max DPYBIND11_INTERNALS_VERSION | ||
run: cmake --build build17max --target pytest | ||
|
||
- name: C++ tests C++17 max DPYBIND11_INTERNALS_VERSION | ||
run: cmake --build build17max --target cpptest | ||
|
||
- name: Interface test | ||
run: cmake --build build17max --target test_cmake_build | ||
|
||
# Ensure the setup_helpers module can build packages using setuptools | ||
- name: Setuptools helpers test | ||
run: pytest tests/extra_setuptools | ||
|
||
- name: Clean directory | ||
run: git clean -fdx |