Skip to content

Idea for how to organize pace-community modules so that each new release can be automatically installed

Notifications You must be signed in to change notification settings

pace-gt/pace-community-project

Repository files navigation

Overview

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.

How can a developer add their module to pace-community?

  1. 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.
  2. 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.
  3. 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 just cd'd into a clone of your repository. Any created files should stay within this hypothetical clone directory; i.e. build in place.
  4. 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 to PATH. 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.

How does PACE check for new releases and turn them into new module versions?

All PACE has to do is run update_community_modules.py. This can be scheduled to be run periodically.

About

Idea for how to organize pace-community modules so that each new release can be automatically installed

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published