Skip to content

Commit 0972786

Browse files
authored
Merge pull request #30131 from rwgk/pybind11k_merge_sh
git merge smart_holder (pybind/pybind11#5185)
2 parents 1a8c43a + 8fb23f6 commit 0972786

File tree

117 files changed

+364
-283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+364
-283
lines changed

.appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ platform:
99
- x86
1010
environment:
1111
matrix:
12-
- PYTHON: 36
12+
- PYTHON: 38
1313
CONFIG: Debug
1414
install:
1515
- ps: |

.github/workflows/ci.yml

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
matrix:
3434
runs-on: [ubuntu-20.04, windows-2022, macos-13]
3535
python:
36-
- '3.6'
36+
- '3.8'
3737
- '3.9'
3838
- '3.12'
3939
- '3.13'
@@ -49,16 +49,17 @@ jobs:
4949
include:
5050
# Just add a key
5151
- runs-on: ubuntu-20.04
52-
python: '3.6'
52+
python: '3.8'
5353
args: >
5454
-DPYBIND11_FINDPYTHON=ON
5555
-DCMAKE_CXX_FLAGS="-D_=1"
56+
exercise_D_: 1
5657
- runs-on: ubuntu-20.04
5758
python: 'pypy-3.8'
5859
args: >
5960
-DPYBIND11_FINDPYTHON=ON
6061
- runs-on: windows-2019
61-
python: '3.6'
62+
python: '3.8'
6263
args: >
6364
-DPYBIND11_FINDPYTHON=ON
6465
# Inject a couple Windows 2019 runs
@@ -83,7 +84,7 @@ jobs:
8384

8485
- name: Setup Boost (Linux)
8586
# Can't use boost + define _
86-
if: runner.os == 'Linux' && matrix.python != '3.6'
87+
if: runner.os == 'Linux' && matrix.exercise_D_ != 1
8788
run: sudo apt-get install libboost-dev
8889

8990
- name: Setup Boost (macOS)
@@ -134,9 +135,7 @@ jobs:
134135
run: cmake --build . --target pytest -j 2
135136

136137
- name: C++11 tests
137-
# TODO: Figure out how to load the DLL on Python 3.8+
138-
if: "!(runner.os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10' || matrix.python == '3.11' || matrix.python == 'pypy-3.8'))"
139-
run: cmake --build . --target cpptest -j 2
138+
run: cmake --build . --target cpptest -j 2
140139

141140
- name: Interface test C++11
142141
run: cmake --build . --target test_cmake_build
@@ -165,8 +164,6 @@ jobs:
165164
run: cmake --build build2 --target pytest
166165

167166
- name: C++ tests
168-
# TODO: Figure out how to load the DLL on Python 3.8+
169-
if: "!(runner.os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10' || matrix.python == '3.11' || matrix.python == 'pypy-3.8'))"
170167
run: cmake --build build2 --target cpptest
171168

172169
# Third build - C++17 mode with unstable ABI
@@ -660,15 +657,13 @@ jobs:
660657
cmake --build build-17 --target test_cmake_build
661658
662659
663-
# Testing on CentOS (manylinux uses a centos base, and this is an easy way
664-
# to get GCC 4.8, which is the manylinux1 compiler).
660+
# Testing on CentOS (manylinux uses a centos base).
665661
centos:
666662
runs-on: ubuntu-latest
667663
strategy:
668664
fail-fast: false
669665
matrix:
670666
container:
671-
- "centos:7" # GCC 4.8
672667
- "almalinux:8"
673668
- "almalinux:9"
674669

@@ -678,18 +673,13 @@ jobs:
678673
steps:
679674
- name: Latest actions/checkout
680675
uses: actions/checkout@v4
681-
if: matrix.container != 'centos:7'
682676

683-
- name: Pin actions/checkout as required for centos:7
684-
uses: actions/checkout@v3
685-
if: matrix.container == 'centos:7'
677+
- name: Add Python 3.8
678+
if: matrix.container == 'almalinux:8'
679+
run: dnf update -y && dnf install -y python38-devel gcc-c++ make git
686680

687-
- name: Add Python 3 (RHEL 7)
688-
if: matrix.container == 'centos:7'
689-
run: yum update -y && yum install -y python3-devel gcc-c++ make git
690-
691-
- name: Add Python 3 (RHEL 8+)
692-
if: matrix.container != 'centos:7'
681+
- name: Add Python 3 (default)
682+
if: matrix.container != 'almalinux:8'
693683
run: dnf update -y && dnf install -y python3-devel gcc-c++ make git
694684

695685
- name: Update pip
@@ -812,17 +802,25 @@ jobs:
812802
fail-fast: false
813803
matrix:
814804
python:
815-
- 3.6
816-
- 3.7
817-
- 3.8
818-
- 3.9
805+
- '3.7'
806+
- '3.8'
807+
- '3.9'
808+
- '3.10'
809+
- '3.11'
810+
- '3.12'
819811

820812
include:
821-
- python: 3.9
813+
- python: '3.12'
822814
args: -DCMAKE_CXX_STANDARD=20
823-
- python: 3.8
815+
- python: '3.11'
816+
args: -DCMAKE_CXX_STANDARD=20
817+
- python: '3.10'
818+
args: -DCMAKE_CXX_STANDARD=20
819+
- python: '3.9'
820+
args: -DCMAKE_CXX_STANDARD=20
821+
- python: '3.8'
824822
args: -DCMAKE_CXX_STANDARD=17
825-
- python: 3.7
823+
- python: '3.7'
826824
args: -DCMAKE_CXX_STANDARD=14
827825

828826

.github/workflows/ci_sh_def.yml

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
matrix:
4646
runs-on: [ubuntu-20.04, windows-2022, macos-13]
4747
python:
48-
- '3.6'
48+
- '3.8'
4949
- '3.9'
5050
- '3.12'
5151
- '3.13'
@@ -61,16 +61,17 @@ jobs:
6161
include:
6262
# Just add a key
6363
- runs-on: ubuntu-20.04
64-
python: '3.6'
64+
python: '3.8'
6565
args: >
6666
-DPYBIND11_FINDPYTHON=ON
6767
-DCMAKE_CXX_FLAGS="-D_=1"
68+
exercise_D_: 1
6869
- runs-on: ubuntu-20.04
6970
python: 'pypy-3.8'
7071
args: >
7172
-DPYBIND11_FINDPYTHON=ON
7273
- runs-on: windows-2019
73-
python: '3.6'
74+
python: '3.8'
7475
args: >
7576
-DPYBIND11_FINDPYTHON=ON
7677
# Inject a couple Windows 2019 runs
@@ -95,7 +96,7 @@ jobs:
9596

9697
- name: Setup Boost (Linux)
9798
# Can't use boost + define _
98-
if: runner.os == 'Linux' && matrix.python != '3.6'
99+
if: runner.os == 'Linux' && matrix.exercise_D_ != 1
99100
run: sudo apt-get install libboost-dev
100101

101102
- name: Setup Boost (macOS)
@@ -147,9 +148,7 @@ jobs:
147148
run: cmake --build . --target pytest -j 2
148149

149150
- name: C++11 tests
150-
# TODO: Figure out how to load the DLL on Python 3.8+
151-
if: "!(runner.os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10' || matrix.python == '3.11' || matrix.python == 'pypy-3.8'))"
152-
run: cmake --build . --target cpptest -j 2
151+
run: cmake --build . --target cpptest -j 2
153152

154153
- name: Interface test C++11
155154
run: cmake --build . --target test_cmake_build
@@ -179,8 +178,6 @@ jobs:
179178
run: cmake --build build2 --target pytest
180179

181180
- name: C++ tests
182-
# TODO: Figure out how to load the DLL on Python 3.8+
183-
if: "!(runner.os == 'Windows' && (matrix.python == 3.8 || matrix.python == 3.9 || matrix.python == '3.10' || matrix.python == '3.11' || matrix.python == 'pypy-3.8'))"
184181
run: cmake --build build2 --target cpptest
185182

186183
# Third build - C++17 mode with unstable ABI
@@ -682,15 +679,13 @@ jobs:
682679
cmake --build build-17 --target test_cmake_build
683680
684681
685-
# Testing on CentOS (manylinux uses a centos base, and this is an easy way
686-
# to get GCC 4.8, which is the manylinux1 compiler).
682+
# Testing on CentOS (manylinux uses a centos base).
687683
centos:
688684
runs-on: ubuntu-latest
689685
strategy:
690686
fail-fast: false
691687
matrix:
692688
container:
693-
- "centos:7" # GCC 4.8
694689
- "almalinux:8"
695690
- "almalinux:9"
696691

@@ -700,18 +695,13 @@ jobs:
700695
steps:
701696
- name: Latest actions/checkout
702697
uses: actions/checkout@v4
703-
if: matrix.container != 'centos:7'
704698

705-
- name: Pin actions/checkout as required for centos:7
706-
uses: actions/checkout@v3
707-
if: matrix.container == 'centos:7'
699+
- name: Add Python 3.8
700+
if: matrix.container == 'almalinux:8'
701+
run: dnf update -y && dnf install -y python38-devel gcc-c++ make git
708702

709-
- name: Add Python 3 (RHEL 7)
710-
if: matrix.container == 'centos:7'
711-
run: yum update -y && yum install -y python3-devel gcc-c++ make git
712-
713-
- name: Add Python 3 (RHEL 8+)
714-
if: matrix.container != 'centos:7'
703+
- name: Add Python 3 (default)
704+
if: matrix.container != 'almalinux:8'
715705
run: dnf update -y && dnf install -y python3-devel gcc-c++ make git
716706

717707
- name: Update pip
@@ -836,17 +826,25 @@ jobs:
836826
fail-fast: false
837827
matrix:
838828
python:
839-
- 3.6
840-
- 3.7
841-
- 3.8
842-
- 3.9
829+
- '3.7'
830+
- '3.8'
831+
- '3.9'
832+
- '3.10'
833+
- '3.11'
834+
- '3.12'
843835

844836
include:
845-
- python: 3.9
837+
- python: '3.12'
846838
args: -DCMAKE_CXX_STANDARD=20
847-
- python: 3.8
839+
- python: '3.11'
840+
args: -DCMAKE_CXX_STANDARD=20
841+
- python: '3.10'
842+
args: -DCMAKE_CXX_STANDARD=20
843+
- python: '3.9'
844+
args: -DCMAKE_CXX_STANDARD=20
845+
- python: '3.8'
848846
args: -DCMAKE_CXX_STANDARD=17
849-
- python: 3.7
847+
- python: '3.7'
850848
args: -DCMAKE_CXX_STANDARD=14
851849

852850

0 commit comments

Comments
 (0)