-
Notifications
You must be signed in to change notification settings - Fork 144
EasyBuild Sprint 2020a toolchains
[WORK IN PROGRESS]
Starting to use a brand new toolchain is always a challenge, since the limited number of EasyConfigs mean you need to develop a lot yourself. This sprint synchronizes that effort amongst the community, so that together we can kickstart the development of GCCcore-9.x
, foss-2020a
, intel-2020a
based EasyConfigs. Hopefully, this will result in a large number of EasyConfigs being available quickly after the release of the 2020a
toolchains.
The sprint will take place on Tuesday 17th and Thursday 19th of March, 9:00-13:00h CET. During this time, a large number of maintainers will be available for reviewing and accepting PRs.
The idea of having two separate mornings is that straightforward EasyConfigs can go through the full review cycle on the 17th. For more difficult ones, you can get some feedback on the 17th, work on it in the meantime, and try to finalize the PR on the 19th.
- Before the sprint, make sure to prepare your environment so you can participate (see the 'How to prepare?' section)
- Check out the 'wishlist' and choose an EasyConfig you want to work on. If you want to work on something that is not on the wishlist but that is relevant for your site, just ask one of the maintainers to add it to the wishlist.
- Ask one of the maintainers to add your name to the EasyConfig you will work on. This avoids having two people working on the same EasyConfig at the same time.
- Develop your EasyConfig
- Use `
It is advisable to set up an environment beforehand that
- Runs the development branch of the EasyBuild docs & metapackage repository (https://github.com/easybuilders/easybuild)
- Runs the development branch of the EasyBuild framework (https://github.com/easybuilders/easybuild-framework)
- Runs the development branch of the EasyBlocks (https://github.com/easybuilders/easybuild-easyblocks)
- Runs the 2020a branch of EasyConfigs (https://github.com/easybuilders/easybuild-easyconfigs)
- Already has the 2020a toolchains installed
- Has GitHub integration correctly set up
In order to do create this setup, please take the following steps:
- Make sure you have a GitHub account If you do not have a fork yet:
- Fork each of the four repositories (https://github.com/easybuilders/easybuild, https://github.com/easybuilders/easybuild-framework, https://github.com/easybuilders/easybuild-easyblocks, https://github.com/easybuilders/easybuild-easyconfigs)
- Use a (slightly modified)
install-EasyBuild-develop.sh
script to install the repositories
# pick an installation prefix (adjust as you like)
INSTALL_PREFIX=$(mktemp -d $HOME/EasyBuild-XXXXXX)
# download script
curl -O https://raw.githubusercontent.com/easybuilders/easybuild-framework/master/easybuild/scripts/install-EasyBuild-develop.sh
# Change it so it targets the 2020a branch for the EasyConfigs repository:
sed 's/github_clone_branch "easybuild-easyconfigs" "develop"/github_clone_branch "easybuild-easyconfigs" "2020a"/g' install-EasyBuild-develop.sh > install-EasyBuild-sprint.sh
# run downloaded script, specifying *your* GitHub username and the installation prefix
bash install-EasyBuild-develop.sh GITHUB_USERNAME $INSTALL_PREFIX
# update $MODULEPATH via 'module use', and load the module
module use $INSTALL_PREFIX/modules
module load EasyBuild-develop
eb --version ## This should ensure you have a reasonable instance of EasyBuild
If you already have a fork
- Bring your fork up to date