Skip to content

Merge 'upstream/master' (37f845a1d) #46

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
3e448c0
Enable py::ellipsis on Python 2 (#2360)
YannickJadoul Aug 4, 2020
df11597
chore: cleanup
henryiii Aug 1, 2020
da803eb
fix: duplicate target names removed
henryiii Aug 1, 2020
ed6de12
format: include .in files
henryiii Aug 2, 2020
c664d55
ci: better output / more config
henryiii Aug 2, 2020
227170d
fix: better handling of PYBIND11_CPP_STANDARD
henryiii Aug 3, 2020
0af7fe6
fix: typo in pybind11_add_module (#2374)
henryiii Aug 8, 2020
6f3470f
Add robotpy-build to list of tools (#2359)
virtuald Aug 10, 2020
1732046
Adding tests specifically to exercise pybind11::str::raw_str. (#2366)
rwgk Aug 11, 2020
f7abac6
fix: boost's include dir was listed first (#2384)
henryiii Aug 12, 2020
1534e17
ci: include Python 3.9 RC1 (#2387)
henryiii Aug 12, 2020
830adda
Modified Vector STL bind initialization from a buffer type with optim…
Aug 13, 2020
2e2de8c
fix: add missing signature (#2363)
henryiii Aug 14, 2020
fb042d6
Fix warning C26817 on copying in `for (auto vh : value_and_holder(...…
MichaelGoulding Aug 14, 2020
cba4a98
ci: include Boost (#2393)
henryiii Aug 14, 2020
ebdd0d3
tests: Consolidate version (2 vs. 3) and platform (CPython vs. PyPy) …
EricCousineau-TRI Aug 14, 2020
5a3ff72
ci: Remove "Setup Boost (macOS)" step (#2395)
EricCousineau-TRI Aug 14, 2020
cd85699
Using recently added `pytest.PY2` instead of `str is bytes`. (#2396)
rwgk Aug 14, 2020
a876aac
tests: loosen test, not valid on some systems (#2399)
henryiii Aug 16, 2020
3618bea
Add and document py::error_already_set::discard_as_unraisable()
jbarlow83 Aug 8, 2020
4d9024e
tests: cleanup and ci hardening (#2397)
henryiii Aug 16, 2020
6404099
docs: contrib/issue templates (#2377)
henryiii Aug 17, 2020
7dd2bdb
docs: fix typo (#2405)
fireant Aug 18, 2020
cf0a645
fix: throwing repr caused a segfault (#2389)
henryiii Aug 18, 2020
69821d9
Disable testing when using BUILD_TESTING (#1682)
pfultz2 Aug 18, 2020
1729aae
feat: new FindPython support (#2370)
henryiii Aug 19, 2020
04fdc44
tests: avoid putting build products into source directory (#2353)
henryiii Aug 19, 2020
24dffe4
fix: PYBIND11_MASTER_PROJECT always ON (#2412)
henryiii Aug 19, 2020
110e6c1
ci: reduce flakiness a little (#2418)
henryiii Aug 20, 2020
a6887b6
docs: update changelog and versionadded
henryiii Aug 19, 2020
2fa1843
docs: pin versions for readthedocs
henryiii Aug 20, 2020
f31df73
docs: move CONTRIBUTING (#2402)
henryiii Aug 20, 2020
d4d7ef5
Update pybind11Tools.cmake (#2419)
bjodah Aug 21, 2020
56df3c4
fix: a couple more places where pybind11 is missing 11 (#2421)
henryiii Aug 21, 2020
c58f7b7
fix: reduce target collision in add_submodule mode (#2423)
henryiii Aug 22, 2020
b886369
Improve documentation of Python and C++ exceptions (#2408)
jbarlow83 Aug 22, 2020
4493751
Fix new-style __init__ usage in numpy docs (#2426)
YannickJadoul Aug 23, 2020
b3d8fec
Adapt code example in advanced/classes.rst to new handling of forgett…
YannickJadoul Aug 23, 2020
43f390a
Add note that VS2017 requires /permissive- to build in C++17 mode (#2…
YannickJadoul Aug 24, 2020
5b59b7b
ci: gha annotations (#2427)
henryiii Aug 24, 2020
a2bb297
Throw exception on returning a unique_ptr or shared_ptr nullptr (or a…
YannickJadoul Aug 25, 2020
03b3d59
tests: fix CI by including <algorithm> to stop MSVC from complaining …
YannickJadoul Aug 26, 2020
9b8cb02
fix: respect PYTHON_VERSION if set in classic mode (#2414)
henryiii Aug 26, 2020
1abc4a9
fix: doc typo, drop second use of 'without' (#2439)
PhilipDeegan Aug 26, 2020
6a19278
Fix bug roundtripping datetime.time objects after midnight in eastern…
YannickJadoul Aug 28, 2020
3c061f2
Fixing `pybind11::bytes()` ambiguous conversion issue.
rwgk Aug 28, 2020
fb0a3a0
Fix broken README link (#2449)
dsaxton Aug 31, 2020
3a89bff
ci: harden chrono test, mark another macos 4.9 dev failure (#2448)
henryiii Aug 31, 2020
4c36fb7
[DOC] avoid C++ types in docstrings (#2441)
sizmailov Sep 1, 2020
72b06b8
ci: Eigen moved
henryiii Sep 3, 2020
44fa79c
pytypes: Add Gotchas section about default-constructed wrapper types …
EricCousineau-TRI Sep 4, 2020
0dbda6e
feat: py::pos_only (#2459)
henryiii Sep 5, 2020
ce1a07e
fix: use classic extension handling unless otherwise requested (#2462)
henryiii Sep 5, 2020
3bd0d7a
Add note about specifying custom base class for Exceptions. (#2465)
michalsustr Sep 6, 2020
36c666f
pybind11_add_module(): OPT_SIZE target
wjakob Sep 4, 2020
064a03a
main CMakeLists.txt file: be less noisy
wjakob Sep 4, 2020
37f845a
ci: disallow some common capitalization mistakes (#2472)
henryiii Sep 8, 2020
6ee47c5
Merge remote-tracking branch 'upstream/master' into feature-upstream-…
EricCousineau-TRI Sep 8, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ install:
python -W ignore -m pip install --upgrade pip wheel
python -W ignore -m pip install pytest numpy --no-warn-script-location
- ps: |
Start-FileDownload 'http://bitbucket.org/eigen/eigen/get/3.3.3.zip'
7z x 3.3.3.zip -y > $null
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-67e894c6cd8f;$env:CMAKE_INCLUDE_PATH"
Start-FileDownload 'https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip'
7z x eigen-3.3.7.zip -y > $null
$env:CMAKE_INCLUDE_PATH = "eigen-3.3.7;$env:CMAKE_INCLUDE_PATH"
build_script:
- cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%"
-DCMAKE_CXX_STANDARD=14
Expand Down
143 changes: 84 additions & 59 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,59 +15,64 @@ jobs:
# runs-on: [ubuntu-latest, windows-latest, macos-latest]
runs-on: [ubuntu-latest, macos-latest]
arch: [x64]
max-cxx-std: [17]
python:
# - 2.7
# - 3.5
- 3.7
- 3.8
- 3.9-dev
# - pypy2
# - pypy3

include:
- runs-on: ubuntu-latest
python: 3.6
arch: x64
max-cxx-std: 17
- runs-on: macos-latest
python: 3.7
arch: x64
max-cxx-std: 17
args: >
-DPYBIND11_FINDPYTHON=ON
# - runs-on: windows-2016
# python: 3.7
# arch: x86
# max-cxx-std: 14

exclude:
# # Currently 32bit only, and we build 64bit
# args2: >
# -DCMAKE_CXX_FLAGS="/permissive- /EHsc /GR"
# - runs-on: windows-latest
# python: pypy2
# python: 3.6
# arch: x64
# max-cxx-std: 17
# args: >
# -DPYBIND11_FINDPYTHON=ON
# - runs-on: windows-latest
# python: pypy3
# python: 3.7
# arch: x64
# max-cxx-std: 17

# Currently can't build due to warning, fixed in CPython > 3.9b5
- runs-on: ubuntu-latest
python: 3.9-dev
arch: x64
- runs-on: macos-latest
python: 3.9-dev
arch: x64
max-cxx-std: 17

# # Currently broken on embed_test
# - runs-on: windows-latest
# python: 3.8
# arch: x64
# max-cxx-std: 17
# - runs-on: windows-latest
# python: 3.9-dev
# arch: x64
# max-cxx-std: 17

name: "🐍 ${{ matrix.python }} • ${{ matrix.runs-on }} • ${{ matrix.arch }}"
args: >
-DPYBIND11_FINDPYTHON=ON

# exclude:
# # Currently 32bit only, and we build 64bit
# - runs-on: windows-latest
# python: pypy2
# arch: x64
# - runs-on: windows-latest
# python: pypy3
# arch: x64

# # Currently broken on embed_test
# - runs-on: windows-latest
# python: 3.8
# arch: x64
# - runs-on: windows-latest
# python: 3.9-dev
# arch: x64


name: "🐍 ${{ matrix.python }} • ${{ matrix.runs-on }} • ${{ matrix.arch }} ${{ matrix.args }}"
runs-on: ${{ matrix.runs-on }}
continue-on-error: ${{ endsWith(matrix.python, 'dev') }}

steps:
- uses: actions/checkout@v2
Expand All @@ -78,8 +83,14 @@ jobs:
python-version: ${{ matrix.python }}
architecture: ${{ matrix.arch }}

- name: Setup Boost (Windows / Linux latest)
run: echo "::set-env name=BOOST_ROOT::$BOOST_ROOT_1_72_0"

- name: Update CMake
uses: jwlawson/actions-setup-cmake@v1.3

- name: Cache wheels
if: startsWith(runner.os, 'macOS')
if: runner.os == 'macOS'
uses: actions/cache@v2
with:
# This path is specific to macOS - we really only need it for PyPy NumPy wheels
Expand All @@ -90,50 +101,56 @@ jobs:
key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ matrix.arch }}-${{ hashFiles('tests/requirements.txt') }}

- name: Prepare env
run: python -m pip install -r tests/requirements.txt
run: python -m pip install -r tests/requirements.txt --prefer-binary

- name: Configure C++11
shell: bash
- name: Setup annotations
if: runner.os == 'Linux'
run: python -m pip install pytest-github-actions-annotate-failures

- name: Configure C++11 ${{ matrix.args }}
run: >
cmake -S . -B build
cmake -S . -B .
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DDOWNLOAD_EIGEN=ON
-DCMAKE_CXX_STANDARD=11
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
${{ matrix.args }}

- name: Build C++11
run: cmake --build build -j 2
run: cmake --build . -j 2

- name: Python tests C++11
run: cmake --build build --target pytest -j 2
run: cmake --build . --target pytest -j 2

- name: C++11 tests
run: cmake --build build --target cpptest -j 2
run: cmake --build . --target cpptest -j 2

- name: Interface test C++11
run: cmake --build build --target test_cmake_build
run: cmake --build . --target test_cmake_build

- name: Configure C++${{ matrix.max-cxx-std }}
shell: bash
- name: Clean directory
run: git clean -fdx

- name: Configure ${{ matrix.args2 }}
run: >
cmake -S . -B build2
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DDOWNLOAD_EIGEN=ON
-DCMAKE_CXX_STANDARD=${{ matrix.max-cxx-std }}
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
-DCMAKE_CXX_STANDARD=17
${{ matrix.args }}
${{ matrix.args2 }}

- name: Build C++${{ matrix.max-cxx-std }}
- name: Build
run: cmake --build build2 -j 2

- name: Python tests C++${{ matrix.max-cxx-std }}
- name: Python tests
run: cmake --build build2 --target pytest

- name: C++${{ matrix.max-cxx-std }} tests
- name: C++ tests
run: cmake --build build2 --target cpptest

- name: Interface test C++${{ matrix.max-cxx-std }}
- name: Interface test
run: cmake --build build2 --target test_cmake_build

clang:
Expand All @@ -142,11 +159,11 @@ jobs:
fail-fast: false
matrix:
clang:
# - 3.6
# - 3.7
# - 3.9
# - 5
# - 7
- 3.6
- 3.7
- 3.9
- 5
- 7
- 9
- dev

Expand Down Expand Up @@ -248,7 +265,7 @@ jobs:
# run: python3 -m pip install --upgrade pip

# - name: Install dependencies
# run: python3 -m pip install cmake -r tests/requirements.txt
# run: python3 -m pip install cmake -r tests/requirements.txt --prefer-binary

# - name: Configure
# shell: bash
Expand Down Expand Up @@ -283,10 +300,14 @@ jobs:
- name: Install requirements
run: |
apt-get update
apt-get install -y git make cmake g++ libeigen3-dev python3-dev python3-pip python3-pytest
apt-get install -y git make cmake g++ libeigen3-dev python3-dev python3-pip
pip3 install "pytest==3.1.*"

- name: Configure for install
run: cmake -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") -DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0 .
run: >
cmake .
-DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")

- name: Make and install
run: make install
Expand All @@ -298,7 +319,11 @@ jobs:
run: mkdir /build-tests

- name: Configure tests
run: cmake -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)") ../pybind11-tests -DPYBIND11_WERROR=ON
run: >
cmake ../pybind11-tests
-DDOWNLOAD_CATCH=ON
-DPYBIND11_WERROR=ON
-DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
working-directory: /build-tests

- name: Run tests
Expand All @@ -314,14 +339,14 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Install requirements
- name: Install system requirements
run: apk add doxygen python3-dev

- name: Ensure pip
run: python3 -m ensurepip

- name: Install python docs requirements
run: python3 -m pip install "sphinx<3" sphinx_rtd_theme breathe==4.13.1 pytest setuptools
- name: Install docs & setup requirements
run: python3 -m pip install -r docs/requirements.txt pytest setuptools

- name: Build docs
run: python3 -m sphinx -W -b html docs docs/.build
Expand Down
82 changes: 41 additions & 41 deletions .github/workflows/configure.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Configure
name: Config

on:
workflow_dispatch:
Expand All @@ -14,65 +14,65 @@ jobs:
strategy:
fail-fast: false
matrix:
python:
- 2.7
- 3.8
runs-on: [ubuntu-latest, macos-latest, windows-latest]
arch: [x64]
cmake: [3.18]

name: CMake ${{ matrix.cmake }} Python ${{ matrix.python }} on ubuntu
runs-on: ubuntu-latest
include:
- runs-on: ubuntu-latest
arch: x64
cmake: 3.4

- runs-on: macos-latest
arch: x64
cmake: 3.7

- runs-on: windows-2016
arch: x86
cmake: 3.8

- runs-on: windows-2016
arch: x86
cmake: 3.18

name: 🐍 3.7 • CMake ${{ matrix.cmake }} • ${{ matrix.runs-on }}
runs-on: ${{ matrix.runs-on }}

steps:
- uses: actions/checkout@v2

- name: Setup Python ${{ matrix.python }}
- name: Setup Python 3.7
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
python-version: 3.7
architecture: ${{ matrix.arch }}

- name: Prepare env
run: python -m pip install -r tests/requirements.txt

- name: Make build directories
run: |
mkdir build3.7
mkdir build3.11
mkdir build3.18

- name: Setup CMake 3.7
- name: Setup CMake ${{ matrix.cmake }}
uses: jwlawson/actions-setup-cmake@v1.3
with:
cmake-version: 3.7

- name: Configure 3.7
working-directory: build3.7
run: >
cmake ..
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
cmake-version: ${{ matrix.cmake }}

- name: Setup CMake 3.11
uses: jwlawson/actions-setup-cmake@v1.3
with:
cmake-version: 3.11
- name: Make build directories
run: mkdir "build dir"

- name: Configure 3.11
working-directory: build3.11
- name: Configure
working-directory: build dir
shell: bash
run: >
cmake ..
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")

- name: Setup CMake 3.18
uses: jwlawson/actions-setup-cmake@v1.3
with:
cmake-version: 3.18
- name: Build
working-directory: build dir
if: github.event_name == 'workflow_dispatch'
run: cmake --build . --config Release

- name: Configure 3.18
working-directory: build3.18
run: >
cmake ..
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DPYTHON_EXECUTABLE=$(python -c "import sys; print(sys.executable)")
- name: Test
working-directory: build dir
if: github.event_name == 'workflow_dispatch'
run: cmake --build . --config Release --target check
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ MANIFEST
.*.swp
.DS_Store
/dist
/build
/*build*
.cache/
sosize-*.txt
pybind11Config*.cmake
pybind11Targets.cmake
/*env*
/.vscode
Loading