README.md 5.05 KB
Newer Older
1 2
# template_project_escape 
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3572655.svg)](https://doi.org/10.5281/zenodo.3572655) 
3 4
[![pipeline status](https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/badges/master/pipeline.svg)](
https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/-/commits/master)
5 6
[![Build Status](https://travis-ci.com/garciagenrique/template_project_escape.svg?branch=master)](
https://travis-ci.com/garciagenrique/template_project_escape)
Enrique Garcia's avatar
Enrique Garcia committed
7 8


Enrique Garcia's avatar
Enrique Garcia committed
9 10 11 12
<p align="center">
   <img src="https://cdn.eso.org/images/large/ann18084a.jpg" width="640" height="453"/>
</p>

Enrique Garcia's avatar
Enrique Garcia committed
13
A simple template project to provide software to ESCAPE.
14

15 16
The repository shows the **basic documentation** that should be included within the project (following the 
[opensource guide](https://opensource.guide/starting-a-project/)):
17

18 19 20 21
* An [open source](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#where-does-the-license-live-on-my-repository)
 **license**.
* A [**README** file](https://help.github.com/en/github/getting-started-with-github/create-a-repo#commit-your-first-change),
 similar to this one. 
22 23 24 25
* Contributing guidelines. 
    - See below the general guidelines for the ESCAPE repository.
* A [code of conduct](https://opensource.guide/code-of-conduct/).
    - Check why is a good idea to add one.
26
* The repository itself.
27

Enrique Garcia's avatar
style2  
Enrique Garcia committed
28
It would be highly suitable to include too:
29
   - A setup file as well as the basic commands to install the library (see below).
Enrique Garcia's avatar
Enrique Garcia committed
30
   - A .gitignore file.
31
   - Unitary and integration tests, and ideally a CI pipeline.
Enrique Garcia's avatar
Enrique Garcia committed
32
   
33 34
**Please feel free to copy / base on / template this project!** (Look to left of the `Clone or download` button in the 
[GitHub](https://github.com/garciagenrique/template_project_escape) site).
35

Enrique Garcia's avatar
Enrique Garcia committed
36
Take few minutes to check the [ESCAPE repository's guidelines](https://gitlab.in2p3.fr/escape2020/guidelines) too.
37

38
# Contributing guidelines for the ESCAPE repository
39

Enrique Garcia's avatar
Enrique Garcia committed
40 41
If you wish to provide software to the ESCAPE repository: 

42 43
 - You should ask developer access through the Gitlab interface and send an email to vuillaume [at] lapp.in2p3.fr with
  your institution email.
44

Enrique Garcia's avatar
Enrique Garcia committed
45
 - You will then be able to open a new project and transfer code.
Enrique Garcia's avatar
Enrique Garcia committed
46

47
 - All the code provided should be uploaded from the [Zenodo ESCAPE community](https://zenodo.org/communities/escape2020/). 
Enrique Garcia's avatar
Enrique Garcia committed
48

49 50 51
 - For a detailed explanation of how to submit a contribution to a project / repository (Fork, create a branch, make
  a pull request...), please check the [opensource guide](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) 
  and/or the [git's documentation](https://git-scm.com/doc).
Enrique Garcia's avatar
Enrique Garcia committed
52

53 54 55
 - Once you are granted with developer access, you will be able to add a new blank project / import it (from other
  common repository managers, i.e., GitHub, GitLab, Bitbucket, Fogbugz...) to the
   [GitLab/ESCAPE](https://gitlab.in2p3.fr/escape2020) main page.
Enrique Garcia's avatar
Enrique Garcia committed
56

57 58 59
***PLEASE NOTE*** 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](https://gitlab.in2p3.fr/help/ssh/README#generating-a-new-ssh-key-pair) to 
your GitLab profile if you want to 'push' your changes to the server. 
Enrique Garcia's avatar
Enrique Garcia committed
60

61
# Singularity image container and CI/CD to Zenodo
Enrique Garcia's avatar
Enrique Garcia committed
62

63 64 65 66 67 68 69
An example of how to; 
 1. create a Singularity image / container of your code, 
 2. make it available as a downloadable artifact within your project and 
 3. add it to the ESCAPE community in the [Zenodo repository](https://zenodo.org/communities/escape2020), 
 
can be found in the `.gitlabci`, `.zenodoci` directories and in the `.gitlab-ci.yml` file. Please read carefully 
all the README files.  
70 71 72

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. 
Enrique Garcia's avatar
Enrique Garcia committed
73

74 75 76 77 78 79 80 81
# Installation

```sh
  $ git clone https://gitlab.in2p3.fr/escape2020/escape/template_project_escape.git
  $ cd template_project_escape
  $ python setup.py install
``` 

82
This is an easy method to install the current project. 
83 84 85
You can also check other more elaborated ways - generally for bigger repositories - here (e.g.,
 [cta-observatory/cta-lstchain](https://github.com/cta-observatory/cta-lstchain), 
 [cta-observatory/ctapipe](https://github.com/cta-observatory/ctapipe)).
86

Enrique Garcia's avatar
Enrique Garcia committed
87
# Citing 
Enrique Garcia's avatar
Enrique Garcia committed
88 89 90
In case of citing this repository, use the following DOI:
 - v 1.0: [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3572655.svg)](https://doi.org/10.5281/zenodo.3572655)

91 92 93 94 95
Do not forget to include your code / container into the [Zenodo ESCAPE community](https://zenodo.org/communities/escape2020/). 
 - ***Note that*** you will be able to assign a DOI in the moment you include your code/repository to Zenodo. 
 
Please check the licenses of the code within in the `.gitlabci`, `.zenodoci` directories before adding this template 
to your project.
96

Enrique Garcia's avatar
Enrique Garcia committed
97
# Report an issue / Ask a question
98
Use the [GitLab repository Issues](https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/-/issues).
Enrique Garcia's avatar
Enrique Garcia committed
99 100 101

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