From 3df373dde1025dab49f009dcfbc41aaaf89a2955 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 21 Apr 2026 18:26:36 +0200 Subject: [PATCH 1/4] Move lammps hook to a pre_test hook that is specific to LAMMPS, so it doesn't get invoked as often - and cannot result in errors in unintended places --- eb_hooks.py | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 8155f887..60c5b74f 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1487,6 +1487,25 @@ def pre_test_hook_ignore_failing_tests_FFTWMPI(self, *args, **kwargs): self.cfg['testopts'] = "|| echo ignoring failing tests" +def pre_test_hook_lammps_ignore_failure_arm_generic(self, *args, **kwargs): + """ + Ignore failing tests on ARM generic target for LAMMPS version 22Jul2025 + """ + # Ignore failing ctest for LAMMPS/22Jul2025 on aarch64/generic + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + if cpu_target == CPU_TARGET_AARCH64_GENERIC: + if self.name == 'LAMMPS' and self.version == '22Jul2025': + # This command matches what is in + # https://github.com/easybuilders/easybuild-easyblocks/blob/71b010288084e1777fbdd0e3db319f0104134b1d/easybuild/easyblocks/l/lammps.py#L682 + # If a test_cmd is already defined, the easyblock linked above should not overwrite it anymore + test_cmd = 'ctest ' + test_cmd += '--no-tests=error ' + test_cmd += '-LE unstable -E "TestMliapPyUnified|AtomicPairStyle:meam_spline|KSpaceStyle:scafacos.*" ' + test_cmd += f' || echo "Ignoring failing tests when installing for {cpu_target}"' + self.log.debug(f"Running tests using test_cmd = '{test_cmd}' as test_cmd") + self.cfg['test_cmd'] = test_cmd + + def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): """ Pre-test hook for SciPy-bundle: skip failing tests for selected SciPy-bundle versions @@ -1968,18 +1987,6 @@ def post_easyblock_hook(self, *args, **kwargs): print_warning(f"Not enabling the post_easybuild_hook, as it requires EasyBuild 5.1.1 or newer (you are using {EASYBUILD_VERSION}).") -def pre_run_shell_cmd_hook(cmd, work_dir=None, **kwargs): - """Main pre_shell_cmd_hook: trigger custom funtions based on software name.""" - - # Ignore failing ctest for LAMMPS/22Jul2025 on aarch64/generic - cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') - if cpu_target == CPU_TARGET_AARCH64_GENERIC: - if bool(re.search('LAMMPS', work_dir)) and bool(re.search('22Jul2025', work_dir)): - if isinstance(cmd, str) and cmd.startswith('ctest') and '-LE unstable' in cmd: - cmd = cmd + f' || echo "Ignoring failing tests when installing for {cpu_target}"' - return cmd - - PARSE_HOOKS = { 'casacore': parse_hook_casacore_disable_vectorize, 'CGAL': parse_hook_cgal_toolchainopts_precise, @@ -2037,6 +2044,7 @@ def pre_run_shell_cmd_hook(cmd, work_dir=None, **kwargs): 'ESPResSo': pre_test_hook_ignore_failing_tests_ESPResSo, 'FFTW.MPI': pre_test_hook_ignore_failing_tests_FFTWMPI, 'Highway': pre_test_hook_exclude_failing_test_Highway, + 'LAMMPS': pre_test_hook_lammps_ignore_failure_arm_generic, 'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle, 'netCDF': pre_test_hook_ignore_failing_tests_netCDF, 'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx, From 0b9435b2c1be840204172a1e8017177931683dad Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 22 Apr 2026 00:41:44 +0200 Subject: [PATCH 2/4] Add Easystack to prove this hook still works --- .../2025.06/eessi-2025.06-eb-5.2.1-2024a.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml diff --git a/easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml b/easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml new file mode 100644 index 00000000..4d898043 --- /dev/null +++ b/easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml @@ -0,0 +1,10 @@ +easyconfigs: + - kim-api-2.4.1-GCC-13.3.0.eb: + options: + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/25133 + from-commit: c484c12aaad5da0e27cd9269d59b4ecaa89927ab + - LAMMPS-22Jul2025-foss-2024a-kokkos.eb: + options: + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/25133 + # and https://github.com/easybuilders/easybuild-easyconfigs/pull/25593 + from-commit: e2dedae93022d7e3f10bf2983ca8a03b03b0dca0 From 7a30b029c504e835e0eac49fe1f5c2346f49dab8 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 22 Apr 2026 00:42:49 +0200 Subject: [PATCH 3/4] Move stack to rebuilds, as this LAMMPS was already deployed. So we'll need to run with --rebuild to prove it works --- .../2025.06/{ => rebuilds}/eessi-2025.06-eb-5.2.1-2024a.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easystacks/software.eessi.io/2025.06/{ => rebuilds}/eessi-2025.06-eb-5.2.1-2024a.yml (100%) diff --git a/easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml b/easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml similarity index 100% rename from easystacks/software.eessi.io/2025.06/eessi-2025.06-eb-5.2.1-2024a.yml rename to easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml From 3b100c85dc528f3b3de8fd8cdca9ad7091dd5371 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com> Date: Wed, 22 Apr 2026 09:19:48 +0200 Subject: [PATCH 4/4] Delete easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml --- .../2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml diff --git a/easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml b/easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml deleted file mode 100644 index 4d898043..00000000 --- a/easystacks/software.eessi.io/2025.06/rebuilds/eessi-2025.06-eb-5.2.1-2024a.yml +++ /dev/null @@ -1,10 +0,0 @@ -easyconfigs: - - kim-api-2.4.1-GCC-13.3.0.eb: - options: - # See https://github.com/easybuilders/easybuild-easyconfigs/pull/25133 - from-commit: c484c12aaad5da0e27cd9269d59b4ecaa89927ab - - LAMMPS-22Jul2025-foss-2024a-kokkos.eb: - options: - # See https://github.com/easybuilders/easybuild-easyconfigs/pull/25133 - # and https://github.com/easybuilders/easybuild-easyconfigs/pull/25593 - from-commit: e2dedae93022d7e3f10bf2983ca8a03b03b0dca0