Skip check for missing installations when no easystack file is changed#1458
Skip check for missing installations when no easystack file is changed#1458TopRichard wants to merge 6 commits intoEESSI:mainfrom
Conversation
|
bot: build repo:eessi.io-2025.06-software instance:eessi-bot-mc-aws for:arch=x86_64/amd/zen2 |
|
New job on instance
|
|
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 😛 |
Co-authored-by: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com>
| # 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 |
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
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.
|
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 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. |
…st-software.eessi.io-workflow
… into Modify-test-software.eessi.io-workflow
Checking for missing installations takes ~ 2m/architecture. This update skips that step when no changes have been made to the easystack files.