Skip to content

Latest commit

 

History

History
72 lines (44 loc) · 1.99 KB

README.md

File metadata and controls

72 lines (44 loc) · 1.99 KB

Crane Module Files

Lua module files for crane.unl.edu (EL8)

How to update:

The workflow is to create a new branch for each module file to be added/changed, which will then later get merged into the master branch.

If you don't have a copy of the repo, clone it first:

git clone [email protected]:hcc/crane-modules-el8.git

If you've already cloned it, do a pull to make sure you're up to date:

git checkout master

git pull

Next, create a branch to add the new package module (or changes to an existing module) to. Good practice is to name the branch with the package name and version; for example, mypackage-1.0. Create the new branch via the checkout command:

git checkout -b mypackage-1.0

Make whatever changes you need to.

If you are adding a new modulefile, you must add it to the repo before committing:

git add <modulefile>

It's a good idea to test out the new/edited modules before committing them. To do this, change the directory Lmod is using from the system-wide one to your local repo:

module unuse /util/opt/modulefiles/Core
module use ~/crane-modules-el8/Core
export MODULEPATH_ROOT=~/crane-modules-el8

Now you can test out any changes local to your account.

Then commit the changes to your local repo:

git commit -a

Then push the new branch back up:

git push origin mypackage-1.0

An automated test job will be triggered that does a couple of sanity checks. If it fails, fix the problem, commit the changes to your branch and push it again.

Once it passes, on the https://git.unl.edu/hcc/crane-modules-el8 page, create a Merge Request from the mypackage-1.0 branch to the master branch.

Once the new branch has been merged, switch back to master and do a pull:

git checkout master

git pull

Your local copy of the branch can then be safely deleted:

git branch -d mypackage-1.0

Once the Merge Request is done, jobs will automatically run to update the XML file and the production module files. The new module(s) should then show up.