Migrate CI and dependencies from ryanmrichard to NWChemEx - #252
Merged
Conversation
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.
…'s ambient MPI ABI)
…ystem MPI on Linux)
…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).
1 task
Contributor
|
🚀 [bumpr] Bumped! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/{merge,pull_request,nightly}.yamlfromryanmrichard/.githubtoNWChemEx/.github(landed in Land the build/CI overhaul's shared workflows and actions .github#187), and switchesmerge.yaml's andpull_request.yaml's branch triggers frombuild_overhaultomaster.test.pypi.orgextra_index_url/repository-urloverrides -- this repo's runtime dependencies (nwxcmake, utilities, parallelzone) are all now on real PyPI, so a merge tomastercan publishnwchemex-tensorwrapperthere directly (trusted publisher registered).cmake/get_nwx_cmake.cmake's FetchContent fallback atNWChemEx/NWXCMake, and switches all three Python dependencies fromgit+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
ryanmrichardpersonal fork/account.Test plan
NWChemEx/.githubreusable workflows)nwchemex-tensorwrapperpublishes to PyPI on merge, floored correctly