A simple template project to provide software to ESCAPE.
This repository shows the basic content that should be included in a project (following the opensource guide):
- An open source license.
- A README file, similar to this one.
- Contributing guidelines.
- See below the general guidelines for the ESCAPE repository.
- A code of conduct.
- Check why is a good idea to add one.
- The repository itself.
It would be highly suitable to include too:
- A setup file as well as the basic commands to install the library (see below).
- A
.gitignore
file. - Unitary and integration tests, and ideally a CI pipeline.
Please feel free to clone / fork / template this project! (For example, look to left of the
Clone or download
button in the GitHub site).
- For a detailed explanation of how to submit a contribution to a project / repository (Fork, create a branch, make a pull request...), you can have a look to the opensource guide and/or the git's documentation.
- Not that if you have login GitLab by using the
[Shibbolenth]
service (eduGAIN, Fédération d'Identités RENATER), you will need to add a SSH key to your GitLab profile if you want to 'push' your changes to the server.
If you want to provide software to the ESCAPE repository:
-
Check the ESCAPE OSSR guidelines.
- For ESCAPE members, follow the steps detailed in the onboarding project to finalise your contribution and the same onboarding process.
-
All the code provided should be uploaded to the Zenodo ESCAPE community.
-
Check the following tutorial on how to publish content in Zenodo, and how to automatise the upload of each new release of your project.
1. How to automatise the building of a Singularity image and upload it to Zenodo using the GitLab-CI
A working example of how to automatise the GitLab-CI to;
- create a Singularity image / container of your code,
- make it available as a downloadable artifact within your project and
- upload it to the ESCAPE OSSR,
can be found in the .singularityci
, and Singularity
directories and in the .gitlab-ci.yml
file - the
build_singularity_image
stage. Please read carefully all the README files.
For an easy example of how to create a Singularity receipt from scratch (and its corresponding container when executed),
please have a look to the singularity_utils
directory.
2. How to automatise the building of a Docker container and upload it to the GitLab Container Registry
An example can be found in the Docker
directory and in the .gitlab-ci.yml
file - the
build_docker_image
stage.
Example of how to show installing instructions (and indeed the way to install this project).
$ git clone https://gitlab.in2p3.fr/escape2020/wp3/template_project_escape.git
$ cd template_project_escape
$ pip install .
Example of citing (as well as the DOI to cite this project),
In case of citing this repository, use the following DOI:
Do not forget to include your code / container into the Zenodo ESCAPE community.
- Note that a DOI will be assigned in the moment create a new record/entry in Zenodo.
Please check the licenses of the code within the .singularityci
directory before adding this template
to your project.
Use the GitLab repository Issues.
Email to vuillaume [at] lapp.in2p3.fr / garcia [at] lapp.in2p3.fr.