Skip to content

garciagenrique/template_project_escape

Repository files navigation

template_project_escape

DOI pipeline status License: MIT

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.

Contribute to the ESCAPE OSSR

If you want to provide software to the ESCAPE repository:

This project also includes

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;

  1. create a Singularity image / container of your code,
  2. make it available as a downloadable artifact within your project and
  3. 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.

Install

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 .

Citing

Example of citing (as well as the DOI to cite this project),

In case of citing this repository, use the following DOI:

  • v2.2 DOI
  • v2.1 DOI
  • v2.0 DOI
  • v1.1 DOI
  • v1.0 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.

License

Please check the licenses of the code within the .singularityci directory before adding this template to your project.

Report an issue / Ask a question

Use the GitLab repository Issues.

Contact

Email to vuillaume [at] lapp.in2p3.fr / garcia [at] lapp.in2p3.fr.