Skip to content

Commit 734c29b

Browse files
authored
Point main README.rst to CI for supported platforms and compilers (#5910)
* [skip ci] Point main README.rst to CI for supported platforms and compilers - **Replace** the hard-coded “Supported compilers” and “Supported platforms” lists in `README.rst`. - **Point** readers to the current GitHub Actions matrix as the source of truth for tested platforms, compilers, and Python/C++ versions. - **Clarify** that the matrix evolves over time and that configurations users care about can be kept working via contributions. - **Avoid stale documentation**: Enumerating specific compiler and platform versions in the README is both burdensome and error-prone, and tends to drift out of sync with reality. - **Align “supported” with “tested”**: In practice, the CI configuration is the only place where we can say with confidence which combinations are exercised. Nearby versions (e.g., adjacent compiler minor releases) will often work, but we cannot test every variant. - **Reflect actual maintenance capacity**: pybind11 is maintained by a small, volunteer-based community, so support is necessarily best-effort. Pointing to CI and inviting contributions better matches how support is provided in practice. - **No behavior change**: This PR updates documentation only. - **Living source of truth**: As CI jobs are added or removed, the linked Actions view will automatically reflect the set of configurations we actively test. Keeping a configuration in CI is the best way to keep it “supported”. * [skip ci] Slight rewording: point out GitHub's limits on concurrent jobs under the free tier (rather than free minutes).
1 parent ab9ac90 commit 734c29b

File tree

1 file changed

+17
-18
lines changed

1 file changed

+17
-18
lines changed

README.rst

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -120,24 +120,23 @@ goodies:
120120
- With little extra effort, C++ types can be pickled and unpickled
121121
similar to regular Python objects.
122122

123-
Supported compilers
124-
-------------------
125-
126-
1. Clang/LLVM 3.3 or newer (for Apple Xcode's clang, this is 5.0.0 or
127-
newer)
128-
2. GCC 4.8 or newer
129-
3. Microsoft Visual Studio 2022 or newer (2019 probably works, but was dropped in CI)
130-
4. Intel classic C++ compiler 18 or newer (ICC 20.2 tested in CI)
131-
5. Cygwin/GCC (previously tested on 2.5.1)
132-
6. NVCC (CUDA 11.0 tested in CI)
133-
7. NVIDIA PGI (20.9 tested in CI)
134-
135-
Supported Platforms
136-
-------------------
137-
138-
* Windows, Linux, macOS, and iOS
139-
* CPython 3.8+, Pyodide, PyPy, and GraalPy
140-
* C++11, C++14, C++17, C++20, and C++23
123+
Supported platforms & compilers
124+
-------------------------------
125+
126+
pybind11 is exercised in continuous integration across a range of operating
127+
systems, Python versions, C++ standards, and toolchains. For an up-to-date
128+
view of the combinations we currently test, please see the
129+
`pybind11 GitHub Actions <https://github.com/pybind/pybind11/actions?query=branch%3Amaster>`_
130+
logs.
131+
132+
The test matrix naturally evolves over time as older platforms and compilers
133+
fall out of use and new ones are added by the community. Closely related
134+
versions of a tested compiler or platform will often work as well in practice,
135+
but we cannot promise to validate every possible combination. If a
136+
configuration you rely on is missing from the matrix or regresses, issues and
137+
pull requests to extend coverage are very welcome. At the same time, we need
138+
to balance the size of the test matrix with the available CI resources,
139+
such as GitHub's limits on concurrent jobs under the free tier.
141140

142141
About
143142
-----

0 commit comments

Comments
 (0)