Skip to content

ci: support running all tests via [TESTS:ALL] marker in PR description#2319

Merged
adrianreber merged 12 commits intoopenhpc:4.xfrom
adrianreber:2026-01-07-tests-all
Jan 8, 2026
Merged

ci: support running all tests via [TESTS:ALL] marker in PR description#2319
adrianreber merged 12 commits intoopenhpc:4.xfrom
adrianreber:2026-01-07-tests-all

Conversation

@adrianreber
Copy link
Copy Markdown
Member

This PR adds support for running the complete test suite by including [TESTS:ALL] in the PR description. It also includes various test framework improvements and cleanup.

Main Feature

  • Add [TESTS:ALL] marker detection in PR descriptions to run all known tests instead of only tests related to changed files
  • Extend spec_to_test_mapping.py to support ALL parameter with automatic package installation

Test Framework Improvements

  • Modernize likwid and mfem test frameworks (setup_file(), proper source paths, temp file handling)
  • Add run_with_retry function for handling flaky tests (used by boost-mpi ring_test)
  • Skip tests incompatible with SIMPLE_CI environment (bos/computes, likwid)
  • Fix extrae and papi test issues (LDADD vs LDFLAGS, tolerance adjustments)

Cleanup

  • Remove geopm and opencoarrays from test mapping (not supported in 4.x)
  • Remove scalapack floating-point output files from git tracking
  • Add likwid tests to CI lint targets

CI Fixes

  • Kill stale daemons before starting slurm (helps with manual reruns)
  • Create reusable composite action for [TESTS:ALL] check

Remove geopm and opencoarrays entries from spec_to_test_mapping.py
as these packages are no longer supported in OpenHPC 4.x.

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Adrian Reber <areber@redhat.com>
- Run autoupdate on configure.ac to use modern autoconf syntax:
  AC_PREREQ, AC_INIT quoting, AC_MSG_ERROR instead of AC_ERROR,
  AC_OUTPUT without parentheses
- Update ex1p_perf.cpp from upstream MFEM repository to fix
  compatibility with newer MFEM versions
  (https://github.com/mfem/mfem/blob/master/miniapps/performance/ex1p.cpp)
- Fix Autotools linking by using LDADD instead of AM_LDFLAGS for
  library specifications in serial and parallel Makefile.am
- Set LIBS variable in configure.ac for proper library linking

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Skip tests that require hardware or environment features not available
in the SIMPLE_CI container environment:

- bos/computes: skip memlock limits test (requires specific ulimit
  settings not available in containers)
- likwid: skip marker API tests (requires hardware performance counters
  not available in containers)

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Add a reusable run_with_retry function to tests/common/functions that
can wrap any command and retry it on failure. This is useful for tests
that occasionally timeout or fail due to transient issues.

Usage: run_with_retry [-n max_attempts] [-d delay_seconds] command [args]
Default: 3 attempts with 2 second delay between retries

Apply the retry logic to the boost-mpi ring_test which can sometimes
timeout in CI environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Use LDADD instead of LDFLAGS for library specifications in Makefile.am
to follow Autotools best practices. LDFLAGS should only contain linker
flags (like -L paths), while LDADD should contain libraries to link.

🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Update likwid test scripts to match modern test patterns:
- Use setup_file() function for one-time setup
- Add setup()/teardown() functions with temp file handling
- Add SIMPLE_CI skip condition for rm_execution tests
- Use get_rpm_name helper for RPM version checking
- Update source paths to use ../../../common/

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Add rm_execution and test_module from tests/perf-tools/likwid/
to codespell-lint, whitespace-lint, shellcheck-lint, and shfmt-lint
targets.

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Add support for running all known tests by specifying "ALL" as the
specs parameter:
- Add all_test_packages list with packages needed for full test suite
- Support "ALL" parameter to process all specs in test_map
- Fix tuple handling for package entries (join with space)
- Add OpenHPC version detection to skip python3 prefix replacement
  for version >= 4

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
The *SCAEXSOL.dat files contain floating point output that varies
slightly between runs due to precision differences. Add .gitignore
to exclude these files along with job output files and test result
directories.

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
Add killall command to stop any existing munged/slurmctld/slurmd
processes before starting fresh ones. This helps with manual reruns
of the script. Add psmisc package which provides the killall command.

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
- Run autoupdate on configure.ac (AC_PREREQ, AC_INIT formatting,
  AC_ERROR -> AC_MSG_ERROR, AC_OUTPUT syntax)
- Adjust MPX_TOLERANCE to address intermittent failures with the
  branches test

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jan 7, 2026

Test Results

  319 files  +  292    319 suites  +292   40m 3s ⏱️ + 39m 26s
  822 tests +  769    775 ✅ +  726  47 💤 +43  0 ❌ ±0 
1 701 runs  +1 602  1 606 ✅ +1 513  95 💤 +89  0 ❌ ±0 

Results for commit ab10636. ± Comparison against base commit d637ec2.

♻️ This comment has been updated with latest results.

@adrianreber adrianreber force-pushed the 2026-01-07-tests-all branch 4 times, most recently from 8cfac8d to 4618eef Compare January 7, 2026 21:20
Add support for running all tests by including [TESTS:ALL] in the
PR description. When detected, the test jobs will pass ALL to
setup_slurm_and_run_tests.sh instead of the list of changed files.

This applies to both RHEL and openEuler test jobs.

Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Adrian Reber <areber@redhat.com>
@adrianreber adrianreber force-pushed the 2026-01-07-tests-all branch from 4618eef to ab10636 Compare January 7, 2026 21:41
@adrianreber adrianreber merged commit 6724af8 into openhpc:4.x Jan 8, 2026
24 checks passed
@adrianreber adrianreber deleted the 2026-01-07-tests-all branch January 8, 2026 07:28
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