[WIP] Compatibility layer for EESSI version 2026.x#235
Conversation
|
bot: build repo:eessi.io-2025.06-compat arch:x86_64/generic |
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
It got all the way to the end, but the tests failed when trying to install ReFrame due to DNS issues. This is because we had already replaced |
Isn't there a default target for that variant symlink? There definitely should be... |
The issue is that these variant symlinks are a CVMFS feature. You can create them without CVMFS, but then the target is just a weird-looking string / non-existing path like I tried looking for some other FUSE-based tool to use variant symlinks in Apptainer, and found for instance https://github.com/cccheng/varlinkfs. But the ones that I found won't work in the way we need it to work. Varlinkfs, for instance, only allows for a single directory, and the naming of the variant symlinks is different. What I could do in the Ansible playbook is to first make regular symlinks by stripping the |
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
For now I've solved it by creating regular symlinks right after a new Prefix is built, and replace them by variant symlinks at the very end. That should probably fix it. I've also asked an AI friend if it would be possible to implement a FUSE-based tool that would allow us to use the actual variant symlinks. It actually came up with a Python script that does the trick and mounts a directory with variant symlinks at a given mount point (read-only though), where the variant symlinks can be configured by setting environment variables (before mounting, and you can only modify them by remounting). We could take that approach as well, and do the read-only mount for the bot's test step. But I found it a bit cumbersome, so I'm testing the other approach first. |
|
Last build failed due to an download issue for a elfx86exts dependency (https://crates.io/api/v1/crates/anstyle-parse/0.2.2/download). Let's try again... bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
Same issue.., bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
Failed again with a 403 Forbidden, and a manual curl on the AWS cluster results in Looks like it's related to gentoo/gentoo@3929f73, so let me try a newer commit. |
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
The build finally worked again, just need to fix some failing tests (which are run as Ansible task at the end of the build). |
Add task to create regular symlinks after building Prefix.
|
The symlinks were skipped, moved that task to install_prefix.yml. bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=x86_64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-mc-aws for:arch=aarch64/generic |
|
New job on instance
|
|
bot: build repo:eessi.io-2025.06-compat instance:eessi-bot-riscv for:arch=riscv64/generic |
|
New job on instance
|
Still WIP, but testing some new functionality already...