Skip to content

Migrate CI and dependencies from ryanmrichard to NWChemEx - #160

Merged
ryanmrichard merged 33 commits into
masterfrom
build_overhaul
Aug 5, 2026
Merged

Migrate CI and dependencies from ryanmrichard to NWChemEx#160
ryanmrichard merged 33 commits into
masterfrom
build_overhaul

Conversation

@ryanmrichard

Copy link
Copy Markdown
Member

Summary

  • Imports the build/CI overhaul developed on the ryanmrichard fork's build_overhaul branch (26 commits ahead of the org's own build_overhaul) into NWChemEx/ParallelZone:build_overhaul.
  • 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 -- master is now the ecosystem's working branch.
  • Drops the test.pypi.org extra_index_url/repository-url overrides -- this repo's runtime dependencies (nwxcmake, utilities) are both now on real PyPI, so a merge to master can publish nwchemex-parallelzone there directly (trusted publisher registered).
  • Repoints cmake/get_nwx_cmake.cmake's FetchContent fallback and pyproject.toml's runtime dependencies at NWChemEx/NWXCMake and NWChemEx/Utilities, switching the latter two from git+ dependencies to published floors (nwchemex-nwxcmake>=0.1.0, nwchemex-utilities>=0.1.45).

Part of the ecosystem-wide migration off the ryanmrichard personal fork/account. Note: #145 is an existing, unrelated feature PR against master -- it will likely need a rebase once this merges, since master is about to change substantially. Flagging it here rather than touching it myself.

Test plan

  • CI passes (uses the now-live NWChemEx/.github reusable workflows)
  • Confirm nwchemex-parallelzone publishes to PyPI on merge, floored correctly against nwchemex-nwxcmake>=0.1.0 and nwchemex-utilities>=0.1.45

ryanmrichard and others added 30 commits July 1, 2026 13:18
…cmake_build

Fork-test-only commit: points merge.yaml/pull_request.yaml at the
ryanmrichard/.github fork's reusable workflows instead of the real
NWChemEx/.github, triggers off build_overhaul (this fork's working
branch), and swaps the older test_nwx_library job for
test_nwx_cmake_build with Python tests enabled. Also retargets the
NWXCMake FetchContent fallback to ryanmrichard/NWXCMake, since the
nwx_set_version refactor this branch needs only exists there.

Adds tests/python/conftest.py with a session-scoped RuntimeView
fixture so the reusable action's standalone `pytest -v` step works:
today these tests only run safely through a hand-rolled aggregator
script (test_parallelzone.py) that holds one RuntimeView alive across
the whole unittest run; without an equivalent for plain pytest, MPI
would be finalized after the first test module and every module after
it would fail to re-initialize it.
high_resolution_clock isn't guaranteed to actually be high-resolution
(it's often just an alias for system_clock), so wall_time.count() > 0
failed deterministically on the macos-14/gcc-14 CI leg for a
near-instant lambda call. steady_clock is the portable choice for
measuring elapsed durations.
Switching to steady_clock didn't fix the macos-14/gcc-14 CI failure:
the timed lambda call is fast enough to measure as 0 ticks even on a
nanosecond-typed clock, since actual OS timer resolution can be
coarser than the type suggests. Non-negativity is the only portable
invariant for a near-instant operation's elapsed time.
…o fork

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

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

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

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…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) are both now
on real PyPI, so a merge to master can publish nwchemex-parallelzone
there directly (trusted publisher registered).

get_nwx_cmake.cmake's FetchContent fallback and pyproject.toml's
runtime dependencies both repoint at NWChemEx/NWXCMake and
NWChemEx/Utilities, switching the latter two from git+ dependencies to
published floors (nwchemex-nwxcmake>=0.1.0,
nwchemex-utilities>=0.1.45).
@ryanmrichard
ryanmrichard merged commit 11f6c82 into master Aug 5, 2026
13 checks passed
@ryanmrichard
ryanmrichard deleted the build_overhaul branch August 5, 2026 20:10
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🚀 [bumpr] Bumped!
New version:v0.1.43
Changes:v0.1.42...v0.1.43

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