forked from pybind/pybind11
-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/master' into feature-update
# Conflicts: # .github/workflows/ci.yml # .github/workflows/format.yml # .github/workflows/pip.yml # docs/changelog.rst # include/pybind11/detail/common.h # include/pybind11/pytypes.h # pybind11/_version.py
- Loading branch information
Showing
57 changed files
with
1,085 additions
and
305 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
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 |
---|---|---|
|
@@ -70,7 +70,7 @@ jobs: | |
runs-on: ${{ matrix.runs-on }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python ${{ matrix.python }} | ||
uses: actions/setup-python@v4 | ||
|
@@ -196,17 +196,18 @@ jobs: | |
# matrix: | ||
# include: | ||
# # TODO: Fails on 3.10, investigate | ||
# - python-version: "3.9" | ||
# python-debug: true | ||
# valgrind: true | ||
# # JOB DISABLED (NEEDS WORK): https://github.com/pybind/pybind11/issues/4889 | ||
# - python-version: "3.9" | ||
# # python-debug: true | ||
# # valgrind: true | ||
# - python-version: "3.11" | ||
# python-debug: false | ||
|
||
# name: "🐍 ${{ matrix.python-version }}${{ matrix.python-debug && '-dbg' || '' }} (deadsnakes)${{ matrix.valgrind && ' • Valgrind' || '' }} • x64" | ||
# runs-on: ubuntu-20.04 | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Setup Python ${{ matrix.python-version }} (deadsnakes) | ||
# uses: deadsnakes/[email protected] | ||
|
@@ -305,12 +306,15 @@ jobs: | |
- clang: 15 | ||
std: 20 | ||
container_suffix: "-bullseye" | ||
- clang: 16 | ||
std: 20 | ||
container_suffix: "-bullseye" | ||
|
||
name: "🐍 3 • Clang ${{ matrix.clang }} • C++${{ matrix.std }} • x64" | ||
container: "silkeh/clang:${{ matrix.clang }}${{ matrix.container_suffix }}" | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Add wget and python3 | ||
run: apt-get update && apt-get install -y python3-dev python3-numpy python3-pytest libeigen3-dev | ||
|
@@ -344,7 +348,7 @@ jobs: | |
# container: nvidia/cuda:12.2.0-devel-ubuntu22.04 | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND | ||
# - name: Install 🐍 3 | ||
|
@@ -368,7 +372,7 @@ jobs: | |
# container: centos:8 | ||
# | ||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
# | ||
# - name: Add Python 3 and a few requirements | ||
# run: yum update -y && yum install -y git python3-devel python3-numpy python3-pytest make environment-modules | ||
|
@@ -404,58 +408,55 @@ jobs: | |
# run: cmake --build build --target test_cmake_build | ||
|
||
|
||
# # Testing on CentOS 7 + PGI compilers, which seems to require more workarounds | ||
# centos-nvhpc7: | ||
# if: ${{ false }} # JOB DISABLED (NEEDS WORK): https://github.com/pybind/pybind11/issues/4690 | ||
# runs-on: ubuntu-latest | ||
# name: "🐍 3 • CentOS7 / PGI 22.9 • x64" | ||
# container: centos:7 | ||
# # Testing on Ubuntu + NVHPC (previous PGI) compilers, which seems to require more workarounds | ||
# ubuntu-nvhpc7: | ||
# runs-on: ubuntu-20.04 | ||
# name: "🐍 3 • NVHPC 23.5 • C++17 • x64" | ||
|
||
# env: | ||
# # tzdata will try to ask for the timezone, so set the DEBIAN_FRONTEND | ||
# DEBIAN_FRONTEND: 'noninteractive' | ||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Add Python 3 and a few requirements | ||
# run: yum update -y && yum install -y epel-release && yum install -y git python3-devel make environment-modules cmake3 yum-utils | ||
|
||
# - name: Install NVidia HPC SDK | ||
# run: yum-config-manager --add-repo https://developer.download.nvidia.com/hpc-sdk/rhel/nvhpc.repo && yum -y install nvhpc-22.9 | ||
|
||
# # On CentOS 7, we have to filter a few tests (compiler internal error) | ||
# # and allow deeper template recursion (not needed on CentOS 8 with a newer | ||
# # standard library). On some systems, you many need further workarounds: | ||
# # https://github.com/pybind/pybind11/pull/2475 | ||
# - name: Configure | ||
# shell: bash | ||
# run: | | ||
# source /etc/profile.d/modules.sh | ||
# module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/22.9 | ||
# cmake3 -S . -B build -DDOWNLOAD_CATCH=ON \ | ||
# -DCMAKE_CXX_STANDARD=11 \ | ||
# -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \ | ||
# -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \ | ||
# -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp" | ||
|
||
# # Building before installing Pip should produce a warning but not an error | ||
# - name: Build | ||
# run: cmake3 --build build -j 2 --verbosedf | ||
|
||
# # Building before installing Pip should produce a warning but not an error | ||
# - name: Build | ||
# run: cmake3 --build build -j 2 --verbose | ||
# - name: Add NVHPC Repo | ||
# run: | | ||
# echo 'deb [trusted=yes] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | \ | ||
# sudo tee /etc/apt/sources.list.d/nvhpc.list | ||
|
||
# - name: Install CMake with pip | ||
# - name: Install 🐍 3 & NVHPC | ||
# run: | | ||
# sudo apt-get update -y && \ | ||
# sudo apt-get install -y cmake environment-modules git python3-dev python3-pip python3-numpy && \ | ||
# sudo apt-get install -y --no-install-recommends nvhpc-23-5 && \ | ||
# sudo rm -rf /var/lib/apt/lists/* | ||
# python3 -m pip install --upgrade pip | ||
# python3 -m pip install pytest | ||
# python3 -m pip install --upgrade pytest | ||
|
||
# # On some systems, you many need further workarounds: | ||
# # https://github.com/pybind/pybind11/pull/2475 | ||
# - name: Configure | ||
# shell: bash | ||
# run: | | ||
# source /etc/profile.d/modules.sh | ||
# module load /opt/nvidia/hpc_sdk/modulefiles/nvhpc/23.5 | ||
# cmake -S . -B build -DDOWNLOAD_CATCH=ON \ | ||
# -DCMAKE_CXX_STANDARD=17 \ | ||
# -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") \ | ||
# -DCMAKE_CXX_FLAGS="-Wc,--pending_instantiations=0" \ | ||
# -DPYBIND11_TEST_FILTER="test_smart_ptr.cpp" | ||
|
||
# - name: Build | ||
# run: cmake --build build -j 2 --verbose | ||
|
||
# - name: Python tests | ||
# run: cmake3 --build build --target pytest | ||
# run: cmake --build build --target pytest | ||
|
||
# - name: C++ tests | ||
# run: cmake3 --build build --target cpptest | ||
# run: cmake --build build --target cpptest | ||
|
||
# - name: Interface test | ||
# run: cmake3 --build build --target test_cmake_build | ||
# run: cmake --build build --target test_cmake_build | ||
|
||
|
||
# Testing on GCC using the GCC docker images (only recent images supported) | ||
|
@@ -472,12 +473,13 @@ jobs: | |
- { gcc: 10, std: 17 } | ||
- { gcc: 11, std: 20 } | ||
- { gcc: 12, std: 20 } | ||
- { gcc: 13, std: 20 } | ||
|
||
name: "🐍 3 • GCC ${{ matrix.gcc }} • C++${{ matrix.std }}• x64" | ||
container: "gcc:${{ matrix.gcc }}" | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Add Python 3 | ||
run: apt-get update; apt-get install -y python3-dev python3-numpy python3-pytest python3-pip libeigen3-dev | ||
|
@@ -537,7 +539,7 @@ jobs: | |
# name: "🐍 3 • ICC latest • x64" | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Add apt repo | ||
# run: | | ||
|
@@ -640,8 +642,14 @@ jobs: | |
# name: "🐍 3 • ${{ matrix.container }} • x64" | ||
# container: "${{ matrix.container }}" | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# steps: | ||
# - name: Latest actions/checkout | ||
# uses: actions/checkout@v4 | ||
# if: matrix.container != 'centos:7' | ||
|
||
# - name: Pin actions/checkout as required for centos:7 | ||
# uses: actions/checkout@v3 | ||
# if: matrix.container == 'centos:7' | ||
|
||
# - name: Add Python 3 (RHEL 7) | ||
# if: matrix.container == 'centos:7' | ||
|
@@ -688,8 +696,8 @@ jobs: | |
# runs-on: ubuntu-latest | ||
# container: i386/debian:buster | ||
|
||
# steps: | ||
# - uses: actions/checkout@v1 # Required to run inside docker | ||
# steps: | ||
# - uses: actions/checkout@v1 # Required to run inside docker | ||
|
||
# - name: Install requirements | ||
# run: | | ||
|
@@ -732,7 +740,7 @@ jobs: | |
# runs-on: ubuntu-latest | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - uses: actions/setup-python@v4 | ||
# with: | ||
|
@@ -786,7 +794,7 @@ jobs: | |
# runs-on: windows-2019 | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Setup Python ${{ matrix.python }} | ||
# uses: actions/setup-python@v4 | ||
|
@@ -839,7 +847,7 @@ jobs: | |
# runs-on: windows-2019 | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Setup Python ${{ matrix.python }} | ||
# uses: actions/setup-python@v4 | ||
|
@@ -887,7 +895,7 @@ jobs: | |
# runs-on: windows-2022 | ||
|
||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Setup Python ${{ matrix.python }} | ||
# uses: actions/setup-python@v4 | ||
|
@@ -966,7 +974,7 @@ jobs: | |
# mingw-w64-${{matrix.env}}-boost | ||
# mingw-w64-${{matrix.env}}-catch | ||
|
||
# - uses: actions/checkout@v3 | ||
# - uses: actions/checkout@v4 | ||
|
||
# - name: Configure C++11 | ||
# # LTO leads to many undefined reference like | ||
|
@@ -1037,7 +1045,7 @@ jobs: | |
# run: env | ||
|
||
# - name: Checkout | ||
# uses: actions/checkout@v3 | ||
# uses: actions/checkout@v4 | ||
|
||
# - name: Set up Clang | ||
# uses: egor-tensin/setup-clang@v1 | ||
|
@@ -1051,7 +1059,7 @@ jobs: | |
# uses: jwlawson/[email protected] | ||
|
||
# - name: Install ninja-build tool | ||
# uses: seanmiddleditch/gha-setup-ninja@v3 | ||
# uses: seanmiddleditch/gha-setup-ninja@v4 | ||
|
||
# - name: Run pip installs | ||
# run: | | ||
|
@@ -1106,7 +1114,7 @@ jobs: | |
run: env | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
uses: actions/checkout@v4 | ||
|
||
- name: Show Clang++ version before brew install llvm | ||
run: clang++ --version | ||
|
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
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
Oops, something went wrong.