Skip to content

Skip cloning software-layer-scripts when debugging builds interactively - #1832

Merged
Neves-P merged 2 commits into
EESSI:mainfrom
casparvl:skip_reclone_on_interactive_build
Nov 3, 2026
Merged

Neves-P merged 2 commits into
EESSI:mainfrom
casparvl:skip_reclone_on_interactive_build

Conversation

@casparvl

Copy link
Copy Markdown
Collaborator

EESSI/software-layer-scripts#321 introduces the ability to debug our builds interactively, in a way that is virtually identical to how the bot does it. Essentially, this is done by running:

EESSI_INTERACTIVE_BUILD=<mode> eessi-bot-software-layer/scripts/bot-build.slurm

in the job directory left behind by the build bot.

One issue with that approach is that bot-build.slurm calls bot/build.sh from software-layer. This tries to (re)clone software-layer-scripts, which fails (and exits, because of set -e) when this is done in an existing staged job directory left behind by the build bot.

This PR solves that by making bot/build.sh skip cloning of software-layer-scripts for interactive builds (i.e. if EESSI_INTERACTIVE_BUILD is non-empty).

@casparvl
casparvl requested a review from Neves-P October 21, 2026 10:27

@Neves-P Neves-P left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good to me!

I checked this by going to a failed build and replacing the bot/build.sh with the modified version here. If I then run the script with ${EESSI_INTERACTIVE_BUILD} and have renamed the software-layer-scripts directory, then it fails because it does not have the software-layer-scripts there. If I clone the directory and try it again, it runs as expected without attempting to clone over an existing software-layer-scripts dir, which is also what we want.

So this is good to go 🥳

@casparvl , I've never handled PR's that needed changes to the EXPECTED_CHECKSUM variable, so I'm not totally sure how this works. I'm assuming the checksum is that of bot/build.sh itself?

@casparvl

casparvl commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

It is. The only reason it is there, is to make sure that no one inadvertently or maliciously changes bot/build.sh without this really standing out! Happy to see that it does ;-) Your main job in that regard is: make sure whatever change was made was not unintentional or malicious :)

@Neves-P

Neves-P commented Nov 3, 2026

Copy link
Copy Markdown
Member

Understood, thank you! I also did

sha256sum bot/build.sh 
d0f6b355a0dc9f00e38166ebdb5025455003aa8e258d31f37790f3adc7cb3f90  bot/build.sh

So I can also verify that the checksum of the PR matches the one from the actual file 👍

@Neves-P Neves-P added the force-ci-checks Force missing software CI checks for a PR label Nov 3, 2026
@Neves-P
Neves-P enabled auto-merge November 3, 2026 09:49
@Neves-P
Neves-P merged commit 78a990d into EESSI:main Nov 3, 2026
20 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

force-ci-checks Force missing software CI checks for a PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants