Skip to content

Migrate CI and dependencies from ryanmrichard to NWChemEx - #252

Merged
ryanmrichard merged 29 commits into
masterfrom
build_overhaul
Aug 6, 2026
Merged

Migrate CI and dependencies from ryanmrichard to NWChemEx#252
ryanmrichard merged 29 commits into
masterfrom
build_overhaul

Conversation

@ryanmrichard

Copy link
Copy Markdown
Member

Summary

  • Repoints .github/workflows/{merge,pull_request,nightly}.yaml from ryanmrichard/.github to NWChemEx/.github (landed in Land the build/CI overhaul's shared workflows and actions .github#187), and switches merge.yaml's and pull_request.yaml's branch triggers from build_overhaul to master.
  • Drops the test.pypi.org extra_index_url/repository-url overrides -- this repo's runtime dependencies (nwxcmake, utilities, parallelzone) are all now on real PyPI, so a merge to master can publish nwchemex-tensorwrapper there directly (trusted publisher registered).
  • Repoints cmake/get_nwx_cmake.cmake's FetchContent fallback at NWChemEx/NWXCMake, and switches all three Python dependencies from git+ URLs to published floors (nwchemex-nwxcmake>=0.1.0, nwchemex-utilities>=0.1.45, nwchemex-parallelzone>=0.1.43).

Part of the ecosystem-wide migration off the ryanmrichard personal fork/account.

Test plan

  • CI passes (uses the now-live NWChemEx/.github reusable workflows)
  • Confirm nwchemex-tensorwrapper publishes to PyPI on merge, floored correctly

ryanmrichard and others added 29 commits July 1, 2026 15:50
The old build system built this test-helper pybind11 module via
nwx_add_pybind11_module(py_test_tensorwrapper SOURCE_DIR
tests/python/unit_tests ...), which build_overhaul's CMakeLists.txt
never got an equivalent for -- test_tensorwrapper.cpp (still defining
PYBIND11_MODULE(py_test_tensorwrapper, m)) was left in the tree but
nothing built it, so tests/python/unit_tests/tensor/test_tensor.py's
`import py_test_tensorwrapper.testing` would fail with
ModuleNotFoundError.

Renamed to export_test_tensorwrapper.cpp so it matches
nwx_python_module's source filter, then wired up via
nwx_python_module(py_test_tensorwrapper "tests/python/unit_tests"
NO_INSTALL) -- reusing the same macro extended (NO_INSTALL/DEPENDS)
for PluginPlay's analogous py_test_pluginplay/pluginplay_examples gap.

No ryanmrichard/TensorWrapper fork exists yet (only Utilities,
ParallelZone, and PluginPlay were fork-tested this pass), so this is
a local-only commit pending future CI verification.
…cmake_build

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… trailing newline

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… Python 3.14

Without a session-scoped RuntimeView, MPI is finalized after the first
Tensor construction in TestTensor.setUp, so the second construction aborts
with "MPI_Comm_rank() called after MPI_FINALIZE". Mirrors the fixture
already added to ParallelZone/PluginPlay for the same reason.

Also fixes an isort import-grouping difference between Python 3.13 and
3.14 that only reproduces under 3.14 (confirmed via docker run python:3.14).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ing (uses:-only) job

The pull_request.yaml job that delegates to test_nwx_cmake_build.yaml never
runs on a runner itself, so github.workspace resolves empty there, producing
"-DCMAKE_TOOLCHAIN_FILE=/.github/enable_sigma.cmake" (root-relative, missing
file). The actual cmake invocation always runs from the checked-out repo
root, so a plain relative path works and was verified locally (docker
ubuntu:24.04 + gcc-14) to configure and build cleanly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…n the container)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…TODO

ENABLE_SIGMA is already a real CMake option defined globally by
nwxcmake's set_default_nwx_options.cmake, so no toolchain file is
needed to set it for CI, and no placeholder TODO is needed in
CMakeLists.txt.
…exclude (glob patterns don't work on cibuildwheel v2.22.0's pinned auditwheel 6.1.0)
Repoints this repo's workflows at NWChemEx/.github (landed in
NWChemEx/.github#187) instead of the ryanmrichard fork they were
developed against, and switches merge.yaml's and pull_request.yaml's
branch triggers from build_overhaul to master now that master is the
ecosystem's working branch.

Drops the test.pypi.org extra_index_url and repository-url overrides
-- this repo's runtime dependencies (nwxcmake, utilities, parallelzone)
are all now on real PyPI, so a merge to master can publish
nwchemex-tensorwrapper there directly (trusted publisher registered).

get_nwx_cmake.cmake's FetchContent fallback and pyproject.toml's
runtime dependencies repoint at NWChemEx/NWXCMake, switching all three
Python dependencies from git+ URLs to published floors
(nwchemex-nwxcmake>=0.1.0, nwchemex-utilities>=0.1.45,
nwchemex-parallelzone>=0.1.43).
@ryanmrichard
ryanmrichard merged commit 0376d18 into master Aug 6, 2026
28 of 52 checks passed
@ryanmrichard
ryanmrichard deleted the build_overhaul branch August 6, 2026 02:59
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

🚀 [bumpr] Bumped!
New version:v0.0.107
Changes:v0.0.106...v0.0.107

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.

1 participant