-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Restore upstream.yml from pybind11 master.
This is to remove a git merge stumbling stone. Also remove the now obsolete python312dev.yml.
- Loading branch information
Ralf W. Grosse-Kunstleve
committed
Jun 22, 2024
1 parent
34f869d
commit e293bb3
Showing
2 changed files
with
116 additions
and
138 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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,116 @@ | ||
name: Upstream | ||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
|
||
permissions: | ||
contents: read | ||
|
||
concurrency: | ||
group: upstream-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
PIP_BREAK_SYSTEM_PACKAGES: 1 | ||
# For cmake: | ||
VERBOSE: 1 | ||
|
||
jobs: | ||
standard: | ||
name: "🐍 3.13 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@v4 | ||
|
||
- name: Setup Python 3.13 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.13" | ||
allow-prereleases: true | ||
|
||
- name: Setup Boost | ||
run: sudo apt-get install libboost-dev | ||
|
||
- name: Update CMake | ||
uses: jwlawson/[email protected] | ||
|
||
- name: Run pip installs | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install -r tests/requirements.txt | ||
- 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 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 build11 -j 2 | ||
|
||
- name: Python tests C++11 | ||
run: cmake --build build11 --target pytest -j 2 | ||
|
||
- name: C++11 tests | ||
run: cmake --build build11 --target cpptest -j 2 | ||
|
||
- name: Interface test C++11 | ||
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 build17 | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
- name: Build C++17 | ||
run: cmake --build build17 -j 2 | ||
|
||
- name: Python tests C++17 | ||
run: cmake --build build17 --target pytest | ||
|
||
- name: C++17 tests | ||
run: cmake --build build17 --target cpptest | ||
|
||
# Third build - C++17 mode with unstable ABI | ||
- name: Configure (unstable ABI) | ||
run: > | ||
cmake -S . -B build17max | ||
-DPYBIND11_WERROR=ON | ||
-DDOWNLOAD_CATCH=ON | ||
-DDOWNLOAD_EIGEN=ON | ||
-DCMAKE_CXX_STANDARD=17 | ||
-DPYBIND11_INTERNALS_VERSION=10000000 | ||
- name: Build (unstable ABI) | ||
run: cmake --build build17max -j 2 | ||
|
||
- name: Python tests (unstable ABI) | ||
run: cmake --build build17max --target pytest | ||
|
||
- name: Interface test (unstable ABI) | ||
run: cmake --build build17max --target test_cmake_build | ||
|
||
# This makes sure the setup_helpers module can build packages using | ||
# setuptools | ||
- name: Setuptools helpers test | ||
run: | | ||
pip install setuptools | ||
pytest tests/extra_setuptools |