Skip to content

Commit

Permalink
Expanded the README to state some contribution rules (#13)
Browse files Browse the repository at this point in the history
* 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 <cortexspam-github@yahoo.fr>
Signed-off-by: Matthieu Muffato <mm49@sanger.ac.uk>
  • Loading branch information
muffato authored Sep 20, 2022
1 parent 8894c18 commit 2e34918
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 3 deletions.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/new_recipe.yml
Original file line number Diff line number Diff line change
@@ -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
37 changes: 34 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
Expand Down Expand Up @@ -37,7 +68,7 @@ tool to generate a contributors graphic below.

<!-- ALL-CONTRIBUTORS-LIST:END -->


## License

This code is licensed under the MPL 2.0 [LICENSE](LICENSE).

0 comments on commit 2e34918

Please sign in to comment.