Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CI: add UV ci workflow for the tests - WIP - #3782

Draft
ThomasLecocq wants to merge 7 commits into
masterfrom
feat_ci_uv
Draft

CI: add UV ci workflow for the tests - WIP#3782
ThomasLecocq wants to merge 7 commits into
masterfrom
feat_ci_uv

Conversation

@ThomasLecocq

@ThomasLecocq ThomasLecocq commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

it creates (in //) a new CI workflow using UV for running all tests.

Links to other Issues?

#3570 's @jschaeff mentionned UV and I think it's a good idea to test it here, it can later serve as basis to check the setup.py (for [tests] e.g. missing pytest-cov) and writing the documentation

AI used?

The Claude created the YML file (and tested its workflow down to the obspy-runtests).
The Lecocq talked nicely to the Claude to make it correct the mistakes & bugs & #{|@@#|@#|....

PR Checklist

@megies

megies commented Aug 25, 2026

Copy link
Copy Markdown
Member

Do we want to add a second pipeline for CI tests parallel to the existing one? It's added maintenance burden.
I feel like if you think that we should test based on pypi (using UV or whatever else) because it's faster or whatever, then I think we should just make a full switch from the conda based environments we use in CI right now. Otherwise we have two parallel CI workflows to maintain that do the same thing.. right?

@ThomasLecocq
ThomasLecocq marked this pull request as draft August 27, 2026 11:08
versions not in setup, only CI

PR number in the report

setup for windows

mindep cleaning

fixing the versions in setup.py rather than in a file

fix UV mindep for now, and tentative fix for the windows builds too

fix UV YML

reducing the matrix for this PR

add UV ci workflow for the tests - checking if it even works
New non-gating uv workflow exercising ObsPy on exotic CPython builds:
free-threaded 3.14 (3.14t), pre-release 3.15, and free-threaded pre-release
3.15 (3.15t). uv resolves the 't'/pre-release specifiers directly, so no new
setup machinery is needed.
New non-gating uv workflow exercising ObsPy on exotic CPython builds:
free-threaded 3.14 (3.14t), pre-release 3.15, and free-threaded pre-release
3.15 (3.15t). uv resolves the 't'/pre-release specifiers directly, so no new
setup machinery is needed.
TestResourceIdentifier is a plain pytest class, not a unittest.TestCase, so
it has no skipTest method. test_issue_2278 skips when Python does not reuse
id()s between a freed batch of objects and a fresh one; on GIL CPython that
reuse routinely happens, the skip branch is not taken, and the latent bug
stays hidden. On free-threaded 3.14t the allocator does not reuse those ids,
the branch is taken, and self.skipTest raises AttributeError.

Switch to pytest.skip (pytest already imported). No-op on GIL builds (branch
not taken); on 3.14t the test now skips cleanly instead of erroring.

Surfaced by the tests-uv-experimental canary (3.14t).
@ThomasLecocq

Copy link
Copy Markdown
Contributor Author

aha, funny enough, testing the free-threading version surfaced a little left-over unittest wrong line :)

tests: use pytest.skip in test_issue_2278 (not self.skipTest)

TestResourceIdentifier is a plain pytest class, not a unittest.TestCase, so
it has no skipTest method. test_issue_2278 skips when Python does not reuse
id()s between a freed batch of objects and a fresh one; on GIL CPython that
reuse routinely happens, the skip branch is not taken, and the latent bug
stays hidden. On free-threaded 3.14t the allocator does not reuse those ids,
the branch is taken, and self.skipTest raises AttributeError.

Switch to pytest.skip (pytest already imported). No-op on GIL builds (branch
not taken); on 3.14t the test now skips cleanly instead of erroring.

Surfaced by the tests-uv-experimental canary (3.14t).

@ThomasLecocq ThomasLecocq changed the title add UV ci workflow for the tests - WIP CI: add UV ci workflow for the tests - WIP Aug 31, 2026
@ThomasLecocq ThomasLecocq added the CI issue generally related to continuous integration label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI issue generally related to continuous integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants