Central repository of easyconfigs used in the software installations on VSC clusters.
The organization of this repo is structured in standard git branches, each one providing a different degree of reliability:
vsc
: main branch with software installations validated and tested by multiple VSC sitessite-kul
: software installations specific to clusters managed by KU Leuvensite-ua
: software installations specific to clusters managed by UAntwerpsite-ugent
: software installations specific to clusters managed by UGentsite-vub
: software installations specific to clusters managed by VUBwip
: software installations on any site that are work-in-progress
Users of this repo are encouraged to work with git worktrees. This approach allows to have all easyconfigs available in the VSC Software Stack across all its branches under a single folder in your local system.
- Create a new folder for this repo
$ mkdir vsc-software-stack
- Clone the bare repository (we keep it in a hidden folder as it won't be used
directly)
$ git clone --bare git@github.com:vscentrum/vsc-software-stack.git vsc-software-stack/.bare
- Point git to the bare repo already from the root folder
$ echo "gitdir: ./.bare" > vsc-software-stack/.git
- Add worktrees for each branch in their own folder
$ cd vsc-software-stack $ git worktree add vsc $ git worktree add wip
Pushing/pulling changes in worktrees is no different than in a regular repo. As soon as you change directory into a worktree folder, you can work as if you were on a regular repo. There will be an active branch, you can create/checkout other branches and commit to any branch as usual.
Branches such as wip
or the site-*
branches do not require PRs and reviews
to push changes.
- Enter the target worktree/branch
$ cd vsc-software-stack/wip
- Fetch updates in this branch from remote repository
$ git fetch origin $ git pull origin wip
- Add and commit the files affected by this change
$ git add 000_example/example.eb $ git commit -m "adding WIP easyconfig example.eb"
- Push new commit to remote branch in vsc-software-stack repo
$ git push origin wip
The vsc
branch requires a PR and a positive review (+ working test report) to
merge changes into it. PRs should be open from a fork of the vsc-software-stack
repo.
In the following we assume the following names for the remote repos:
origin
: vsc-software-stack repo in vscentrumpersonal
: your fork of vsc-software-stack
- Enter the target worktree/branch
$ cd vsc-software-stack/vsc
- Fetch updates in this branch from remote repository
$ git fetch origin $ git pull origin vsc $ git push personal vsc
- Create a new local branch to work on the changes
$ git checkout -b 000_example
- Add new easyconfigs from another worktree
$ cp ../wip/000_example/example.eb e/example/example.eb
- Add and commit the files affected by this change
$ git add e/example/example.eb $ git commit -m "adding easyconfig example.eb"
- Push local branch to your fork of the vsc-software-stack repo
$ git push personal 000_example
- Create a new PR in GitHub from the branch
000_example
in your fork of the vsc-software-stack to thevsc
branch in the main vscentrum repo.
- EasyBuild documentation: https://docs.easybuild.io
- EasyBuild tutorial: https://easybuild.io/tutorial
- VSC Slack: https://vscentrum.slack.com
- Recommended to use the
#software
channel. - Requires invitation, ask Kenneth (HPC-UGent) or Sam (VUB-HPC), or anyone already in the VSC Slack.
- Recommended to use the