-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dev.eessi.io support including project subdirectories #885
base: 2023.06-software.eessi.io
Are you sure you want to change the base?
Add dev.eessi.io support including project subdirectories #885
Conversation
Talked with @bedroge about this and decided to try just adding a simple if statement to EESSI extend that would account for builds targeting the development repository, changes in: ee2bcb1 I'd like to clarify to things:
@ocaisa , would you have any suggestions regarding this? PS: I'm marking this a draft to prevent accidental merges as this could break production code. This PR also got extremely long with many commits reverting small changes and applying them again. I'm happy to open a new one from a clean branch to prevent polluting the repo's commit history with many trial and error commits. |
In general, I think this is the way to go. I would like to target the dev repos just the same as we do project extensions. There will need to be a step that generates the path with the subdirectory, but that could all be done with a single environment variable (if the variable
EESSI-extend is just an easyconfig that creates a module file, you can install it locally.
Rather than complicate our lives with
perhaps we should be using
then you have direct mapping |
Thanks @ocaisa , indeed that makes it a lot simpler. In fact, I think we don't need to even touch |
@@ -106,7 +106,6 @@ elseif (os.getenv("EESSI_SITE_INSTALL") ~= nil) then | |||
easybuild_installpath = os.getenv("EESSI_SITE_SOFTWARE_PATH") | |||
else | |||
-- Deal with user and project installs | |||
project_install = os.getenv("EESSI_PROJECT_INSTALL") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't look right...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed in e012bd4. (Still shows up in the review for some reason, maybe because I pushed while a review was open?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still here...
Co-authored-by: ocaisa <alan.ocais@cecam.org>
…-P/software-layer into feature/dev.eessi.io-merge
# install to $eessi_version/$eessi_dev_project if defined, otherwise install | ||
# to $eessi_version | ||
install_prefix_dir=${eessi_version}${eessi_dev_project:+/$eessi_dev_project} | ||
echo "Setting Install prefix directory to: ${install_prefix_dir}" | ||
|
||
if [ -z ${install_prefix_dir} ]; then | ||
echo "\${install_prefix_dir} is empty?!" >&2 | ||
exit 2 | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this supposed to match? It doesn't look like it could match the new location /cvmfs/dev.eessi.io/${eessi_dev_project}/versions/...
From the comment, shouldn't it be $eessi_dev_project/versions/$eessi_version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about keeping the code as was, but updating line 23 such that
cvmfs_repo=${EESSI_CVMFS_REPO}${eessi_dev_project:+/$eessi_dev_project}
# If $EESSI_DEV_PROJECT is defined, then we are building for dev.eessi.io | ||
# and add a subdirectory to $EESSI_PREFIX | ||
if [ -z ${EESSI_DEV_PROJECT} ]; then | ||
export EESSI_PREFIX=$EESSI_CVMFS_REPO/versions/$EESSI_VERSION | ||
else | ||
echo "\$EESSI_DEV_PROJECT: ${EESSI_DEV_PROJECT}; building for dev.eessi.io" | ||
export EESSI_PREFIX=$EESSI_CVMFS_REPO_OVERRIDE/versions/$EESSI_VERSION/$EESSI_DEV_PROJECT | ||
# Set EESSI_PREFIX to the dev project path for EESSI-extend | ||
export EESSI_CVMFS_INSTALL=$EESSI_PREFIX | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto here, you could just tweak the definition of EESSI_CVMFS_REPO_OVERRIDE
This PR replaces open WIP PR #804 (to merge from a more up to date and tested branch) and adds support for building into the
dev.eessi.io
repository.Documentation for how to install into
dev.eessi.io
is available in https://www.eessi.io/docs/adding_software/adding_development_software/, with maintainer documentation to come in EESSI/dev.eessi.io-example#12With this PR, software builds are installed into
/cvmfs/dev.eessi.io/2023.06/$EESSI_DEV_PROJECT/
.$EESSI_DEV_PROJECT
is determined automatically during the build process and comes from the name of the GitHub repository that the bot is listening according to the format:dev.eessi.io-EESSI_DEV_PROJECT
. See: https://github.com/EESSI/dev.eessi.io-exampleExisting builds to
dev.eessi.io
were tested with the code that is about to be merged as verified in EESSI/dev.eessi.io-example#14