From 2e3491893956af6e75f320d9f60313bea9d40a84 Mon Sep 17 00:00:00 2001 From: Matthieu Muffato Date: Tue, 20 Sep 2022 13:43:50 +0100 Subject: [PATCH] Expanded the README to state some contribution rules (#13) * Expanded the README to state some contribution rules * Apply suggestions from code review * Added a note about public containers * Added an issue form to gather requests for new container recipes Signed-off-by: Matthieu Muffato Signed-off-by: Matthieu Muffato --- .github/ISSUE_TEMPLATE/new_recipe.yml | 26 +++++++++++++++++++ README.md | 37 ++++++++++++++++++++++++--- 2 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/new_recipe.yml diff --git a/.github/ISSUE_TEMPLATE/new_recipe.yml b/.github/ISSUE_TEMPLATE/new_recipe.yml new file mode 100644 index 0000000000000..c1be36c49acbe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new_recipe.yml @@ -0,0 +1,26 @@ +name: 'Generate new recipe' +description: Generete a new container recipe +labels: enhancement +title: "[Recipe]" +body: + - type: input + id: docker_uri + attributes: + label: 'Docker identifier to generate recipe for' + placeholder: "autamus/clingo:5.5.1" + validations: + required: true + + - type: input + id: url + attributes: + label: 'URL associated with container' + validations: + required: true + + - type: textarea + id: description + attributes: + label: 'Description of the container' + validations: + required: true diff --git a/README.md b/README.md index ad0a0b4a60217..02aa2c246ebe8 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,41 @@ This is testing having a remote registry for [Singularity HPC](https://github.co 📖️ Read the [documentation](https://singularity-hpc.readthedocs.io/en/latest/) 📖️ ⭐️ Browse the [container module collection](https://singularityhub.github.io/shpc-registry/) ⭐️ - + +## Contribution + +This registry showcases Singularity HPC (shpc), and provides the default set of containers for its default registry. +Contributions are very much welcome, so please do submit a pull-request if you'd like more software to be added, or open an issue to request a new addition! + +The documentation has an [introduction](https://singularity-hpc.readthedocs.io/en/latest/getting_started/developer-guide.html#writing-registry-entries) about registries, and explains how to organize the required files for a container entry. + +### Automated generation + +First of all, there is an automated way of getting most of the `container.yaml` written via GitHub magic 🎩 automation. + +1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) of this repository. +2. Go to the Actions tab. +3. Select "Generate New Container" in the left-hand side menu. +4. Click the "Run workflow" dropdown on the right-hand side. +5. Fill in the name of the container you want to build a `container.yaml` for, as well as a URL and a description (both are mandatory fields). Leave the branch as `main`. +6. Hit the green "Run workflow" button, wait and marvel at the magic :sparkles: happening. The GitHub Action will automatically open a pull request with most of the `container.yaml` filled in for you. You can check the branch out, edit it further – in particular refine the list aliases. + +### Expected content + +Refer to the documentation for a list of the [`container.yaml` fields](https://singularity-hpc.readthedocs.io/en/latest/getting_started/developer-guide.html#registry-yaml-fields), especially the _required_ ones. +A pull-request that doesn't contain the required fields will have changes requested to add them. + +This registry is only for container images freely available. We can't accept `container.yaml` for private or access-restricted containers. + +Furthermore, consider the following tips when making the pull-request: + +- Ideally, the container tags listed in `container.yaml` should be actual versions, not generic `latest`, `stable`, which tend to be moving targets. Remember that containers and Singularity HPC are there for reproducibility ! +- The convention here is to put containers hosted on the Docker Hub at the top of the repository, e.g. [ruby](https://github.com/singularityhub/shpc-registry/tree/main/ruby), rather than in a `docker.io` sub-directory. +- By putting your name down as `author`, you accept you may be contacted to review further updates of the `container.yaml` + ## 😁️ Contributors 😁️ -We use the [all-contributors](https://github.com/all-contributors/all-contributors) +We use the [all-contributors](https://github.com/all-contributors/all-contributors) tool to generate a contributors graphic below. @@ -37,7 +68,7 @@ tool to generate a contributors graphic below. - + ## License This code is licensed under the MPL 2.0 [LICENSE](LICENSE).