testrun: TESTRUN_LAUNCHER for batch systems; tests/reconverse-site-run.sh for HPC-site runs of the reconverse tier - #3975
Merged
Conversation
lvkale
requested review from
adityapb,
ericjbohm and
ritvikrao
as code owners
September 11, 2026 16:53
…n.sh Runtime-core changes get a manual run on an HPC site before merging, and until now that meant a hand-written sbatch script per run (the Anvil validation of reconverse #217/#222 wrote one). Two pieces make it a one-line job that tracks CI: - testrun honors TESTRUN_LAUNCHER, a launcher plus its flags ("srun --mpi=pmi2 -N2 --ntasks-per-node=1 -c2"), used for every run including single-process ones, with -n <procs> appended. Inside a Slurm allocation a reconverse binary must go through srun even alone: LCI's bootstrap reads the inherited SLURM_NTASKS/SLURM_PROCID and waits for peers. Unset, the behaviour is unchanged (bare exec, or lcrun for TESTRUN_PROCS > 1). - tests/reconverse-site-run.sh runs the reconverse-ci TEST_DIRS tier (read from the workflow file, so the site run and CI stay in step) inside an allocation: build each directory, then make test once as a single process and once as PROCS processes over NODES nodes, printing one RESULT line per run. SITE=anvil loads that machine's modules and hwloc path; SITE=delta sets the cxi provider; the launcher and its flags are overridable, which also makes the script runnable with lcrun on a workstation (used to check it here). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ritvikrao
approved these changes
Sep 12, 2026
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
Runtime-core changes get a manual run on an HPC site before merging (the reconverse-ci header says so), and until now that meant a hand-written sbatch script each time; the Anvil validation of reconverse #217 and #222 wrote one. This makes it a one-line job that tracks CI.
testrunhonorsTESTRUN_LAUNCHER: a launcher plus flags, e.g.srun --mpi=pmi2 -N2 --ntasks-per-node=1 -c2, used for every run including single-process ones, with-n <procs>appended. Inside a Slurm allocation a reconverse binary must go throughsruneven alone (LCI's bootstrap reads the inheritedSLURM_NTASKS/SLURM_PROCIDand waits for peers). Unset, nothing changes: bare exec, or lcrun forTESTRUN_PROCS > 1.tests/reconverse-site-run.shruns thereconverse-ci.yamlTEST_DIRS tier inside an allocation: build each directory, thenmake testonce single-process and once asPROCSprocesses overNODESnodes, oneRESULT <dir> <shape> exit=<code>line per run and a summary.SITE=anvilloads that machine's modules and hwloc library path;SITE=deltasetsFI_PROVIDER=cxi; launcher and flags are overridable (which also lets it run with lcrun on a workstation).Usage, from an allocation such as
salloc -N 2 -n 4 -c 2or an sbatch script, after building charm:Checked on macOS with lcrun standing in for srun (
LAUNCHER=.../lcrun LAUNCHER_ARGS_SINGLE= LAUNCHER_ARGS_MULTI= NODES=1): the three testrun modes produce the expected commands and the script runs a two-directory tier end to end. Not yet exercised on Anvil or Delta itself; the first site run of it is the remaining test.🤖 Generated with Claude Code