Skip to content

Skip check for missing installations when no easystack file is changed#1458

Open
TopRichard wants to merge 6 commits intoEESSI:mainfrom
TopRichard:Modify-test-software.eessi.io-workflow
Open

Skip check for missing installations when no easystack file is changed#1458
TopRichard wants to merge 6 commits intoEESSI:mainfrom
TopRichard:Modify-test-software.eessi.io-workflow

Conversation

@TopRichard
Copy link
Copy Markdown
Collaborator

@TopRichard TopRichard commented Mar 30, 2026

Checking for missing installations takes ~ 2m/architecture. This update skips that step when no changes have been made to the easystack files.

@TopRichard
Copy link
Copy Markdown
Collaborator Author

bot: build repo:eessi.io-2025.06-software instance:eessi-bot-mc-aws for:arch=x86_64/amd/zen2

@eessi-bot-aws
Copy link
Copy Markdown

eessi-bot-aws bot commented Mar 30, 2026

New job on instance eessi-bot-mc-aws for repository eessi.io-2025.06-software
Building on: amd-zen2
Building for: x86_64/amd/zen2
Job dir: /project/def-users/SHARED/jobs/2026.03/pr_1458/144229

date job status comment
Mar 30 14:25:15 UTC 2026 submitted job id 144229 awaits release by job manager
Mar 30 14:25:54 UTC 2026 released job awaits launch by Slurm scheduler
Mar 30 14:30:57 UTC 2026 running job 144229 is running
Mar 30 14:33:00 UTC 2026 finished
😁 SUCCESS (click triangle for details)
Details
✅ job output file slurm-144229.out
✅ no message matching FATAL:
✅ no message matching ERROR:
✅ no message matching FAILED:
✅ no message matching required modules missing:
✅ found message(s) matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-x86_64-amd-zen2-17748810560.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2025.06/software/linux/x86_64/amd/zen2/modules/all
no module files in tarball
software under 2025.06/software/linux/x86_64/amd/zen2/software
no software packages in tarball
reprod directories under 2025.06/software/linux/x86_64/amd/zen2/reprod
no reprod directories in tarball
other under 2025.06/software/linux/x86_64/amd/zen2
no other files in tarball
Mar 30 14:33:00 UTC 2026 test result
😁 SUCCESS (click triangle for details)
ReFrame Summary
[ OK ] (1/4) EESSI_OSU_coll %benchmark_info=mpi.collective.osu_allreduce %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node %device_type=cpu /e4bf9965 @BotBuildTests:x86-64-zen2+default
P: latency: 1.33 us (r:0, l:None, u:None)
[ OK ] (2/4) EESSI_OSU_coll %benchmark_info=mpi.collective.osu_alltoall %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node %device_type=cpu /3da4890b @BotBuildTests:x86-64-zen2+default
P: latency: 2.05 us (r:0, l:None, u:None)
[ OK ] (3/4) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_latency %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node /3255009a @BotBuildTests:x86-64-zen2+default
P: latency: 0.18 us (r:0, l:None, u:None)
[ OK ] (4/4) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_bw %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node /59f4b331 @BotBuildTests:x86-64-zen2+default
P: bandwidth: 7904.42 MB/s (r:0, l:None, u:None)
[ PASSED ] Ran 4/4 test case(s) from 4 check(s) (0 failure(s), 0 skipped, 0 aborted)
Details
✅ job output file slurm-144229.out
✅ no message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Mar 30, 2026

While it doesn't actually run the check, this is still starting a CI job. Responsible citizens like us shouldn't do that 😛

@TopRichard
Copy link
Copy Markdown
Collaborator Author

While it doesn't actually run the check, this is still starting a CI job. Responsible citizens like us shouldn't do that 😛

Fair enough, that is something we could consider improving in the future 😛

@TopRichard TopRichard closed this Mar 30, 2026
@TopRichard TopRichard deleted the Modify-test-software.eessi.io-workflow branch March 30, 2026 15:33
@TopRichard TopRichard restored the Modify-test-software.eessi.io-workflow branch March 30, 2026 15:44
@TopRichard TopRichard reopened this Mar 30, 2026
Co-authored-by: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com>
Comment on lines +58 to +63
# Check for specific versions in the changed easystack files
if echo "$changed_files" | grep -q "easystacks/software.eessi.io/2023.06"; then
EESSI_VERSIONS="2023.06"
elif echo "$changed_files" | grep -q "easystacks/software.eessi.io/2025.06"; then
EESSI_VERSIONS="2025.06"
fi
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, you hardcode versions - which means we have to updated this file for each EESSI version.

Can't we do this more generally using a capture group? My AI friend tells me:

EESSI_VERSIONS=$(git diff --name-only origin/${{ github.base_ref }}...HEAD \
  | grep -oP 'easystacks/software\.eessi\.io/\K[0-9]{4}\.[0-9]{2}' \
  | sort -u | tr '\n' ' ')

Now, please triple check this - I haven't - but it should be doable to get rep to return multiple matches.

Also note that your current version only accounts for PRs changing easystack files for a single version. While I know we don't do PRs for multiple versions in practice, it might be good if the CI at least is able to account for it. So please double check what the above does in case of multiple changed versions.

I think you contains syntax later on shows that you did account for multiple versions initially...

# and then allow for special cases for specific architectures
aarch64/a64fx: []
jobs:
check_EESSI_version_changed_files:
Copy link
Copy Markdown
Collaborator

@casparvl casparvl Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should probably add a comment above this line to describe what this check does. I.e. something like: "it checks if this PR changed any easystack files, and if so, for which versions. It then puts those versions (space-seperated?) environment variable. Finally, it stores that in the correct heredoc format in GITHUB_OUTPUT". I'm suggesting space-seperation here, since that's what my AI claims the

EESSI_VERSIONS=$(git diff --name-only origin/${{ github.base_ref }}...HEAD \
  | grep -oP 'easystacks/software\.eessi\.io/\K[0-9]{4}\.[0-9]{2}' \
  | sort -u \
  | tr '\n' ' ')

suggested below will produce - but please check.

@casparvl
Copy link
Copy Markdown
Collaborator

casparvl commented Apr 7, 2026

As discussed in the support meeting today, we will after all try to merge this PR. It should lead to a reduction of the amount of --from-pr and --from-commit calls being done, and hence reduce our issues of hitting GH rate limits.

Long term plan is to do a holistic overhaul of how the CI is set up. But this is a worthwhile short-term improvement until we get to a more complete overhaul.

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.

3 participants