Migrate CI and dependencies from ryanmrichard to NWChemEx - #160
Merged
Conversation
…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>
…'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) 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).
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
ryanmrichardfork'sbuild_overhaulbranch (26 commits ahead of the org's ownbuild_overhaul) intoNWChemEx/ParallelZone:build_overhaul..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--masteris now the ecosystem's working branch.test.pypi.orgextra_index_url/repository-urloverrides -- this repo's runtime dependencies (nwxcmake, utilities) are both now on real PyPI, so a merge tomastercan publishnwchemex-parallelzonethere directly (trusted publisher registered).cmake/get_nwx_cmake.cmake's FetchContent fallback andpyproject.toml's runtime dependencies atNWChemEx/NWXCMakeandNWChemEx/Utilities, switching the latter two fromgit+dependencies to published floors (nwchemex-nwxcmake>=0.1.0,nwchemex-utilities>=0.1.45).Part of the ecosystem-wide migration off the
ryanmrichardpersonal fork/account. Note: #145 is an existing, unrelated feature PR againstmaster-- it will likely need a rebase once this merges, sincemasteris about to change substantially. Flagging it here rather than touching it myself.Test plan
NWChemEx/.githubreusable workflows)nwchemex-parallelzonepublishes to PyPI on merge, floored correctly againstnwchemex-nwxcmake>=0.1.0andnwchemex-utilities>=0.1.45