Skip to content

CI, BLD: support wheel builds, test in CI#2

Merged
nray merged 5 commits intomainfrom
treddy_wheel_test_ci
Jan 28, 2026
Merged

CI, BLD: support wheel builds, test in CI#2
nray merged 5 commits intomainfrom
treddy_wheel_test_ci

Conversation

@tylerjereddy
Copy link
Collaborator

@tylerjereddy tylerjereddy commented Jan 15, 2026

Migrated from private repo PR: https://github.com/lanl/ascr_rvfl/pull/60 ; let's see how this behaves here...

  • MAINT, ENH: library code/manuscript tracking #1 discusses the need to provide a release on PyPI for the library code (possibly related to a manuscript, or not), and this patch aims to add CI testing for the wheel build process and verifying that our testsuite passes via the wheel build route.

  • Note that this is unlikely to work properly until our pyproject.toml has been appropriately updated to specify all necessary dependencies.

requires-python = ">=3.12"
dependencies = ["numpy", "scikit-learn", "pandas"]
dependencies = ["numpy>=2.0.0",
"scikit-learn>=1.2.1"]
Copy link
Collaborator Author

@tylerjereddy tylerjereddy Jan 15, 2026

Choose a reason for hiding this comment

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

I don't know if I had a particularly strong reason for imposing these version restrictions--building against NumPy 2.x is backwards compatible for running with 1.26.x, so that is fairly safe. scikit-learn 1.2.1 is about 3 years old.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

pandas was mostly just used for the research experiments I think (separate repo now) and also a transitive dependency (a dependency of one of our testing deps I think...), but shouldn't be a runtime dep.

tylerjereddy added a commit that referenced this pull request Jan 15, 2026
* Remove unrelated whitespace change in `deps.txt`.

* `test_classification_against_grafo()` needed an additional
tolerance bump as noted at:
#2 (comment)
@tylerjereddy
Copy link
Collaborator Author

Alright, looks like the CI is finally happy here.

tylerjereddy added a commit that referenced this pull request Jan 18, 2026
* `graforvfl` is still listed with a copyleft license, and its
dependency stack is fairly problematic to install as noted in the
code changes at gh-2. While it is only a test time dependency rather
than a hard library runtime dependency, I suspect we won't be able
to carry it (and its transitive deps) over to sklearn. Even independent
of that, it is a bit of a pain for us to deal with long-term, so this
patch attempts to remove our testing dependence on it (and its
transitive deps) completely.
@tylerjereddy tylerjereddy changed the title WIP, CI, BLD: support wheel builds, test in CI CI, BLD: support wheel builds, test in CI Jan 23, 2026
@tylerjereddy
Copy link
Collaborator Author

@nray @eiviani-lanl this should be ready for review when you have bandwidth. The testing tolerance shim was already captured in gh-14.

When other PRs go in, there are some potential improvements/simplifications like testing wheels on Windows and removing the extra grafo deps.

@nray
Copy link
Collaborator

nray commented Jan 26, 2026

@tylerjereddy : Merging PR#5 introduced a conflict. Once you resolve it, I will approve and merge.

* gh-45 discusses the need to provide a release
on PyPI for the library code (manuscript), and this
patch aims to add testing for the wheel build process
and verifying that our testsuite passes via the wheel
build route.

* Note that this is unlikely to work properly until
our `pyproject.toml` has been appropriately updated
to specify all necessary dependencies.
* Adjust the wheel build/test CI job to install
the testing deps manually because of annoying version
conflict issues.

* Separate genuine runtime from test-time deps in
`pyproject.toml`.
* Expand the wheel building/testing in CI
to include Python versions 3.12 and 3.14.
* Remove unrelated whitespace change in `deps.txt`.

* `test_classification_against_grafo()` needed an additional
tolerance bump as noted at:
#2 (comment)
* switch to `gfdl` project name in new wheel build
CI testing.
@tylerjereddy
Copy link
Collaborator Author

@nray I finally rebased this and handled the rvfl -> gfdl change. Looks like CI is happy with full test coverage on the wheel builds.

I suppose the argument could be made that we're now ready to test wheels on Windows as well, though could do that in follow-up.

@nray
Copy link
Collaborator

nray commented Jan 28, 2026

@nray I finally rebased this and handled the rvfl -> gfdl change. Looks like CI is happy with full test coverage on the wheel builds.

I suppose the argument could be made that we're now ready to test wheels on Windows as well, though could do that in follow-up.

Let us do that in a follow-up, I am approving and merging this PR.

@nray nray merged commit 0c015e9 into main Jan 28, 2026
15 checks passed
@nray nray deleted the treddy_wheel_test_ci branch January 28, 2026 16:47
@tylerjereddy tylerjereddy added this to the 0.1.0 milestone Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants