Pace-community is a way for software developers to turn their GitHub repositories into PACE modules. Furthermore, once they have done the initial setup, every new release will automatically be turned into a new module version with no further action necessary. This repository has been set up for three example modules: pace-community-test, SPARC, and sparc-dft-api.
- Tell pace-community where to find your repository on GitHub. Add your repository addresss to
repositories.txt
in the format <author>/<repository>. For example, to add the repository https://github.com/YorickAndeweg/SPARC, add the line YorickAndeweg/SPARC to repositories.txt. - Make a folder for your repository. The folder should have the same name as your github repository. To continue with the above example, the folder should be called SPARC.
- Tell pace-community how to compile your code. In your newly created folder, create a file called
compile_instructions.sh
and in it, type the bash commands that you would execute to compile your code if you had justcd
'd into a clone of your repository. Any created files should stay within this hypothetical clone directory; i.e. build in place. - Tell pace-community how the module should behave. In your newly created folder, create a file called
template.lua
and in it, type the lua commands that should be executed when someone loads your module, such as setting environment variables or prepending toPATH
. This is also where you can add a description of your module. If you are unfamiliar with creating Lmod modules, look at the 3 examples included in this repository or at the Lmod documentation. Use the string{{ version }}
to refer to your module version and the string{{ root_path }}
to refer to the path of your repository clone. Pace-community will replace these placeholders with the appropriate values whenever it creates a new version of your module.
All PACE has to do is run update_community_modules.py. This can be scheduled to be run periodically.