Skip to content

Fetch all source files before processing easystack file - #283

Open
bedroge wants to merge 7 commits into
EESSI:mainfrom
bedroge:fetch_first
Open

Fetch all source files before processing easystack file#283
bedroge wants to merge 7 commits into
EESSI:mainfrom
bedroge:fetch_first

Conversation

@bedroge

Copy link
Copy Markdown
Contributor

This should make it fail early in case source tarballs cannot be downloaded. Note that if you're processing multiple easystack files, it will not fetch the sources for all of them. Doing that would require more changes to the code, and we're not doing that very often anyway: almost all PRs change only one easystack file, so this should already be a big improvement.

I'll give it a try with an actual easystack file.

@bedroge

Copy link
Copy Markdown
ContributorAuthor

This one has tarballs from the GNU mirror, which was causing issues in EESSI/software-layer#1557

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

@eessi-bot-aws

eessi-bot-awsBot commented Aug 7, 2026

Copy link
Copy Markdown

New job on instance eessi-bot-mc-aws for repository eessi.io-2026.06-software
Building on: amd-zen2
Building for: x86_64/amd/zen2
Job dir: /project/def-users/SHARED/jobs/2026.08/pr_283/184332

datejob statuscomment
Aug 07 12:59:28 UTC 2026submittedjob id 184332 awaits release by job manager
Aug 07 13:00:41 UTC 2026releasedjob awaits launch by Slurm scheduler
Aug 07 13:07:58 UTC 2026runningjob 184332 is running
Aug 07 13:12:33 UTC 2026finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-184332.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
✅ no message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2026.06-software-linux-x86_64-amd-zen2-17861082560.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2026.06/software/linux/x86_64/amd/zen2/modules/all
no module files in tarball
software under 2026.06/software/linux/x86_64/amd/zen2/software
no software packages in tarball
reprod directories under 2026.06/software/linux/x86_64/amd/zen2/reprod
no reprod directories in tarball
other under 2026.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 07 13:12:33 UTC 2026test result
😢 FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
✅ job output file slurm-184332.out
❌ found message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@bedroge

Copy link
Copy Markdown
ContributorAuthor

bot: build repo:eessi.io-2026.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx

@eessi-bot-deucalion

eessi-bot-deucalionBot commented Aug 7, 2026

Copy link
Copy Markdown

New job on instance eessi-bot-deucalion for repository eessi.io-2026.06-software
Building on: a64fx
Building for: aarch64/a64fx
Job dir: /home/eessibot/new-bot/jobs/2026.08/pr_283/1811810

datejob statuscomment
Aug 07 13:01:23 UTC 2026submittedjob id 1811810 awaits release by job manager
Aug 07 13:01:47 UTC 2026releasedjob awaits launch by Slurm scheduler
Aug 07 13:02:52 UTC 2026runningjob 1811810 is running
Aug 07 13:06:07 UTC 2026finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-1811810.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
✅ no message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2026.06-software-linux-aarch64-a64fx-17861079030.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2026.06/software/linux/aarch64/a64fx/modules/all
no module files in tarball
software under 2026.06/software/linux/aarch64/a64fx/software
no software packages in tarball
reprod directories under 2026.06/software/linux/aarch64/a64fx/reprod
no reprod directories in tarball
other under 2026.06/software/linux/aarch64/a64fx
no other files in tarball
Aug 07 13:06:07 UTC 2026test result
😢 FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
✅ job output file slurm-1811810.out
❌ found message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@bedroge

Copy link
Copy Markdown
ContributorAuthor

The a64fx build already showed how this improves things:

# first easystack item:
== Summary:
* [SUCCESS] M4/1.4.18
* [FAILED] Autoconf/2.71
* [SUCCESS] Automake/1.16.5
# second easystack item:
* [SUCCESS] M4/1.4.20
* [SUCCESS] GCCcore/15.2.0
* [SUCCESS] Perl/5.42.0-GCCcore-15.2.0
* [SUCCESS] M4/1.4.20-GCCcore-15.2.0
* [SUCCESS] Autoconf/2.72-GCCcore-15.2.0
* [SUCCESS] Automake/1.18.1-GCCcore-15.2.0
# this one (apparently needed from-commit):
ERROR: One or more files not found: parallel-20260522-GCCcore-15.2.0.eb (search paths: /cvmfs/software.eessi.io/versions/2026.06/software/linux/aarch64/a64fx/software/EasyBuild/5.3.1/easybuild/easyconfigs)
# final result:
ESC[31mERROR: Could not download all required source files for this easystack file.ESC[0m

@bedroge

Copy link
Copy Markdown
ContributorAuthor

Trying it again with from-commit for parallel:

bot: build repo:eessi.io-2026.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx

@eessi-bot-deucalion

eessi-bot-deucalionBot commented Aug 7, 2026

Copy link
Copy Markdown

New job on instance eessi-bot-deucalion for repository eessi.io-2026.06-software
Building on: a64fx
Building for: aarch64/a64fx
Job dir: /home/eessibot/new-bot/jobs/2026.08/pr_283/1811833

datejob statuscomment
Aug 07 13:09:36 UTC 2026submittedjob id 1811833 awaits release by job manager
Aug 07 13:10:21 UTC 2026releasedjob awaits launch by Slurm scheduler
Aug 07 13:11:28 UTC 2026runningjob 1811833 is running
Aug 07 13:17:53 UTC 2026finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-1811833.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
✅ no message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2026.06-software-linux-aarch64-a64fx-17861085770.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2026.06/software/linux/aarch64/a64fx/modules/all
no module files in tarball
software under 2026.06/software/linux/aarch64/a64fx/software
no software packages in tarball
reprod directories under 2026.06/software/linux/aarch64/a64fx/reprod
no reprod directories in tarball
other under 2026.06/software/linux/aarch64/a64fx
no other files in tarball
Aug 07 13:17:53 UTC 2026test result
😢 FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
✅ job output file slurm-1811833.out
❌ found message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@bedroge

Copy link
Copy Markdown
ContributorAuthor

Also trying one without the last item (parallel), hoping that the first will fail but the second one will succeed, to make sure that it will still exit/fail in that case:

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

@eessi-bot-aws

eessi-bot-awsBot commented Aug 7, 2026

Copy link
Copy Markdown

New job on instance eessi-bot-mc-aws for repository eessi.io-2026.06-software
Building on: amd-zen2
Building for: x86_64/amd/zen2
Job dir: /project/def-users/SHARED/jobs/2026.08/pr_283/184333

datejob statuscomment
Aug 07 13:13:48 UTC 2026submittedjob id 184333 awaits release by job manager
Aug 07 13:15:01 UTC 2026releasedjob awaits launch by Slurm scheduler
Aug 07 13:16:38 UTC 2026runningjob 184333 is running
Aug 07 13:19:46 UTC 2026finished
😢 FAILURE (click triangle for details)
Details
✅ job output file slurm-184333.out
✅ no message matching FATAL:
❌ found message matching ERROR:
❌ found message matching FAILED:
✅ no message matching required modules missing:
❌ no message matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2026.06-software-linux-x86_64-amd-zen2-17861086770.tar.zstsize: 0 MiB (22 bytes)
entries: 0
modules under 2026.06/software/linux/x86_64/amd/zen2/modules/all
no module files in tarball
software under 2026.06/software/linux/x86_64/amd/zen2/software
no software packages in tarball
reprod directories under 2026.06/software/linux/x86_64/amd/zen2/reprod
no reprod directories in tarball
other under 2026.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 07 13:19:46 UTC 2026test result
😢 FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
✅ job output file slurm-184333.out
❌ found message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@bedroge

Copy link
Copy Markdown
ContributorAuthor

a64fx build (still with 3 items in the easystack):

== Summary:
* [SUCCESS] M4/1.4.18
* [FAILED] Autoconf/2.71
* [SUCCESS] Automake/1.16.5
== Summary:
* [SUCCESS] M4/1.4.20
* [SUCCESS] GCCcore/15.2.0
* [SUCCESS] Perl/5.42.0-GCCcore-15.2.0
* [SUCCESS] M4/1.4.20-GCCcore-15.2.0
* [SUCCESS] Autoconf/2.72-GCCcore-15.2.0
* [SUCCESS] Automake/1.18.1-GCCcore-15.2.0
== Summary:
* [SUCCESS] M4/1.4.20
* [SUCCESS] GCCcore/15.2.0
* [SUCCESS] Perl/5.42.0-GCCcore-15.2.0
* [SUCCESS] expat/2.7.3-GCCcore-15.2.0
* [SUCCESS] M4/1.4.20-GCCcore-15.2.0
* [FAILED] groff/1.24.1-GCCcore-15.2.0
* [SUCCESS] pkgconf/1.8.0
* [SUCCESS] Perl/5.38.0
* [SUCCESS] OpenSSL/3
* [SUCCESS] Perl-bundle-CPAN/5.42.0-GCCcore-15.2.0
* [FAILED] parallel/20260522-GCCcore-15.2.0
ESC[31mERROR: Could not download all required source files for this easystack file.ESC[0m

Then it exits, as expected.

For the zen 2 build (only 2 items):

== Summary:
* [SUCCESS] M4/1.4.18
* [FAILED] Autoconf/2.71
* [SUCCESS] Automake/1.16.5
== Summary:
* [SUCCESS] M4/1.4.20
* [SUCCESS] GCCcore/15.2.0
* [SUCCESS] Perl/5.42.0-GCCcore-15.2.0
* [SUCCESS] M4/1.4.20-GCCcore-15.2.0
* [SUCCESS] Autoconf/2.72-GCCcore-15.2.0
* [SUCCESS] Automake/1.18.1-GCCcore-15.2.0
ESC[31mERROR: Could not download all required source files for this easystack file.ESC[0m
Leaving Gentoo Prefix with exit status 1

So, also as expected.

Will do one more without download issues to ensure that this still works as well.

@bedroge

Copy link
Copy Markdown
ContributorAuthor

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

@eessi-bot-aws

eessi-bot-awsBot commented Aug 7, 2026

Copy link
Copy Markdown

New job on instance eessi-bot-mc-aws for repository eessi.io-2026.06-software
Building on: amd-zen2
Building for: x86_64/amd/zen2
Job dir: /project/def-users/SHARED/jobs/2026.08/pr_283/184334

datejob statuscomment
Aug 07 13:20:01 UTC 2026submittedjob id 184334 awaits release by job manager
Aug 07 13:20:49 UTC 2026releasedjob awaits launch by Slurm scheduler
Aug 07 13:22:23 UTC 2026runningjob 184334 is running
Aug 07 13:28:19 UTC 2026finished
😁 SUCCESS (click triangle for details)
Details
✅ job output file slurm-184334.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-2026.06-software-linux-x86_64-amd-zen2-17861092380.tar.zstsize: 1 MiB (2018313 bytes)
entries: 395
modules under 2026.06/software/linux/x86_64/amd/zen2/modules/all
Autoconf/2.72-GCCcore-15.2.0.lua
Automake/1.18.1-GCCcore-15.2.0.lua
M4/1.4.20-GCCcore-15.2.0.lua
software under 2026.06/software/linux/x86_64/amd/zen2/software
Autoconf/2.72-GCCcore-15.2.0
Automake/1.18.1-GCCcore-15.2.0
M4/1.4.20-GCCcore-15.2.0
reprod directories under 2026.06/software/linux/x86_64/amd/zen2/reprod
Autoconf/2.72-GCCcore-15.2.0/20260807_132640UTC
Automake/1.18.1-GCCcore-15.2.0/20260807_132710UTC
M4/1.4.20-GCCcore-15.2.0/20260807_132624UTC
other under 2026.06/software/linux/x86_64/amd/zen2
no other files in tarball
Aug 07 13:28:19 UTC 2026test result
😢 FAILURE (click triangle for details)
Reason
EESSI test suite was not run, test step itself failed to execute.
Details
✅ job output file slurm-184334.out
❌ found message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case

@bedroge

Copy link
Copy Markdown
ContributorAuthor

That still works, so everything seems to work as expected. Removed the easystack file again.

Note that this doesn't require a build/ingest.

@bedrogebedroge added enhancement New feature or request ready-to-review labels Aug 7, 2026
Comment threadEESSI-install-software.sh Outdated

if [ -f ${easystack_file} ]; then
echo_green "Downloading sources for easystack file ${easystack_file}..."
${EB} --fetch-all --easystack ${easystack_file} --robot

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

--fetch-all is only supported from EasyBuild 5.3.0 onwards, do we need a version check here?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Good point. I guess it's not very likely that we'll still be using older versions, but I've added a check by running eb --help and grepping for --fetch-all first. Otherwise it falls back to --fetch.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or requestready-to-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bedroge@boegel