Skip to content

Conversation

ngoldbaum
Copy link
Contributor

Towards #187.

This enables pytest-run-parallel CI on Windows for more tests. It also makes it so all platforms run the same tests under pytest-run-parallel.

Technically we're skipping tests now on Linux and Mac, but those tests are already being run in other CI jobs so no test coverage is lost.

@ngoldbaum ngoldbaum mentioned this pull request Aug 25, 2025
3 tasks

pytestmark = [
pytest.mark.thread_unsafe(reason="Workers would share a build directory"),
]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this wasn't needed until now because this test file only runs on Windows, see below

@nitzmahone nitzmahone merged commit 3c61e14 into python-cffi:main Sep 5, 2025
32 checks passed
nitzmahone pushed a commit to nitzmahone/cffi that referenced this pull request Sep 5, 2025
* enable windows pytest-run-parallel CI

* pass skip-thread-unsafe

* remove OS conditional

(cherry picked from commit 3c61e14)
nitzmahone added a commit that referenced this pull request Sep 5, 2025
* Explicitly specify --no-build-isolation as that's our expectation in these tests

Previously we relied on pip to build the packages in non-PEP517 mode,
which implied no build isolation.

The latest `virtualenv` (with pypa/virtualenv#2868) won't include
`wheel` in the virtualenv, which will mean that pip uses PEP-517 mode,
which is isolated by default.

(cherry picked from commit 24e42cb)

* Add CFFI thread safety docs (#188)

* Add CFFI thread safety docs

* Delete incorrect statements

* Add more links, examples, and suggestions about TSan

* fix indentation in code example

* Update doc/source/overview.rst

Co-authored-by: Matti Picus <[email protected]>

---------

Co-authored-by: Matti Picus <[email protected]>
(cherry picked from commit e94a7b6)

* Explicitly specify manylinux2014 in wheel building config (#184)

(cherry picked from commit 078820c)

* Enable more Windows pytest-run-parallel CI (#189)

* enable windows pytest-run-parallel CI

* pass skip-thread-unsafe

* remove OS conditional

(cherry picked from commit 3c61e14)

* Misc CI env stabilization (#194)

* Misc CI env stabilization
* Specify explicit runner major image versions instead of `latest`.
* Test only against versioned Python releases. Installing from arbitrary source commits with `-dev` is rarely worth the potential instability between runs. Specifying X.Y with `allow-prereleases: true` will use the latest packaged X.Y.Z release, falling back to the newest X.Y.0 pre-release if X.Y.0 has not yet been released.

* correct manylinux image name typo

(cherry picked from commit 51e276e)

---------

Co-authored-by: Stefano Rivera <[email protected]>
Co-authored-by: Nathan Goldbaum <[email protected]>
Co-authored-by: Matti Picus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants