ci: add GitHub Actions

This commit is contained in:
divlo 2020-12-28 11:44:23 +01:00
parent 7921d06785
commit 3ed686cddd
8 changed files with 288 additions and 22 deletions

131
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@ -0,0 +1,131 @@
# Code de conduite _Contributor Covenant_
## Notre engagement
En tant que membres, contributeur•trice•s et dirigeant•e•s, nous nous
engageons à faire de la participation à notre communauté
une expérience sans harcèlement, quel que soit l'âge,
la taille corporelle, le handicap visible ou invisible, l'appartenance ethnique,
les caractéristiques sexuelles, l'identité et l'expression de genre,
le niveau d'expérience, l'éducation, le statut socio-économique,
la nationalité, l'apparence personnelle, la race, la religion,
ou l'identité et l'orientation sexuelle.
Nous nous engageons à agir et interagir de manière à contribuer à une communauté
ouverte, accueillante, diversifiée, inclusive et saine.
## Nos critères
Exemples de comportements qui contribuent à créer un environnement positif :
- Faire preuve d'empathie et de bienveillance envers les autres
- Être respectueux des opinions, points de vue et expériences divergents
- Donner et recevoir avec grâce les critiques constructives
- Assumer ses responsabilités et s'excuser auprès des personnes affectées par nos erreurs et apprendre de ces expériences
- Se concentrer sur ce qui est le meilleur non pas uniquement pour nous en tant qu'individu, mais aussi pour l'ensemble de la communauté
Exemples de comportements inacceptables :
- L'utilisation de langage ou d'images sexualisés et d'attentions ou d'avances sexuelles de toute nature
- Le _trolling_, les commentaires insultants ou désobligeants et les attaques
personnelles ou d'ordre politique
- Le harcèlement en public ou en privé
- La publication d'informations privées d'autrui, telle qu'une
adresse postale ou une adresse électronique, sans leur autorisation explicite
- Toute autre conduite qui pourrait raisonnablement être considérée comme inappropriée
dans un cadre professionnel
## Responsabilités d'application
Les dirigeant•e•s de la communauté sont chargé•e•s de clarifier et de faire respecter nos normes de
comportements acceptables et prendront des mesures correctives appropriées et équitables en
réponse à tout comportement qu'ils ou elles jugent inapproprié, menaçant, offensant ou nuisible.
Les dirigeant•e•s de la communauté ont le droit et la responsabilité de supprimer, modifier ou rejeter
les commentaires, les contributions, le code, les modifications de wikis, les rapports d'incidents ou de bogues et autres contributions qui
ne sont pas alignés sur ce code de conduite, et communiqueront les raisons des décisions de modération
le cas échéant.
## Portée d'application
Ce code de conduite s'applique à la fois au sein des espaces du projet ainsi que
dans les espaces publics lorsqu'un individu représente officiellement le projet ou sa
communauté. Font parties des exemples de représentation d'un projet ou d'une
communauté l'utilisation d'une adresse électronique officielle, la publication sur
les réseaux sociaux à l'aide d'un compte officiel ou le fait d'agir en tant que représentant•e désigné•e
lors d'un événement en ligne ou hors-ligne.
## Application
Les cas de comportements abusifs, harcelants ou tout autre comportement
inacceptables peuvent être signalés aux dirigeant•e•s de la communauté responsables de l'application du code de conduite à
contact@divlo.fr.
Toutes les plaintes seront examinées et feront l'objet d'une enquête rapide et équitable.
Tou•te•s les dirigeant•e•s de la communauté sont tenu•e•s de respecter la vie privée et la sécurité des
personnes ayant signalé un incident.
## Directives d'application
Les dirigeant•e•s de communauté suivront ces directives d'application sur l'impact communautaire afin de déterminer
les conséquences de toute action qu'ils jugent contraire au présent code de conduite :
### 1. Correction
**Impact communautaire** : utilisation d'un langage inapproprié ou tout autre comportement jugé
non professionnel ou indésirable dans la communauté.
**Conséquence** : un avertissement écrit et privé de la part des dirigeant•e•s de la communauté, clarifiant
la nature du non-respect et expliquant pourquoi
le comportement était inapproprié. Des excuses publiques peuvent être demandées.
### 2. Avertissement
**Impact communautaire** : un non-respect par un seul incident ou une série d'actions.
**Conséquence** : un avertissement avec des conséquences dû à la poursuite du comportement.
Aucune interaction avec les personnes concernées, y compris l'interaction non sollicitée avec
celles et ceux qui sont chargé•e•s de l'application de ce code de conduite, pendant une période déterminée.
Cela comprend le fait d'éviter les interactions dans les espaces communautaires ainsi que sur les canaux externes
comme les médias sociaux. Le non-respect de ces conditions peut entraîner
un bannissement temporaire ou permanent.
### 3. Bannissement temporaire
**Impact communautaire** : un non-respect grave des normes communautaires, notamment
un comportement inapproprié soutenu.
**Conséquence** : un bannissement temporaire de toutes formes d'interactions ou de
communications avec la communauté pendant une période déterminée. Aucune interaction publique ou
privée avec les personnes concernées, y compris les interactions non sollicitées
avec celles et ceux qui appliquent ce code de conduite, n'est autorisée pendant cette période.
Le non-respect de ces conditions peut entraîner un bannissement permanent.
### 4. Bannissement permanent
**Impact communautaire** : démontrer un schéma récurrent de non-respect des normes de la
communauté y compris un comportement inapproprié soutenu, le harcèlement d'un individu
ainsi que l'agression ou le dénigrement de catégories d'individus.
**Conséquence** : un bannissement permanent de toutes formes d'interactions publiques au sein de
la communauté.
## Attributions
Ce code de conduite est adapté du
[Contributor Covenant](https://www.contributor-covenant.org), version 2.0,
disponible à
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Les Directives d'application ont été inspirées par le
[Code of conduct enforcement ladder][mozilla coc] de Mozilla.
Pour obtenir des réponses aux questions courantes sur ce code de conduite, consultez la FAQ à
[https://www.contributor-covenant.org/faq][faq]. Les traductions sont disponibles
sur [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[mozilla coc]: https://github.com/mozilla/diversity
[faq]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

18
.github/workflows/commitlint.yml vendored Normal file
View File

@ -0,0 +1,18 @@
# For more information see: https://github.com/marketplace/actions/commit-linter
name: 'Lint Commit Messages'
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
commitlint:
runs-on: 'ubuntu-latest'
steps:
- uses: 'actions/checkout@v2'
with:
fetch-depth: 0
- uses: 'wagoid/commitlint-github-action@v2'

86
.github/workflows/nodejs.yml vendored Normal file
View File

@ -0,0 +1,86 @@
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: 'Node.js CI'
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
ci_website:
runs-on: 'ubuntu-latest'
defaults:
run:
working-directory: 'website'
strategy:
matrix:
node-version: [14.x]
steps:
- uses: 'actions/checkout@v2'
- name: Use Node.js ${{ matrix.node-version }}
uses: 'actions/setup-node@v2.1.2'
with:
node-version: ${{ matrix.node-version }}
- name: 'Cache dependencies'
uses: 'actions/cache@v2'
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- run: 'npm install'
- run: 'npm run lint'
- run: 'npm run build'
ci_api:
runs-on: 'ubuntu-latest'
defaults:
run:
working-directory: 'api'
strategy:
matrix:
node-version: [14.x]
steps:
- uses: 'actions/checkout@v2'
- name: Use Node.js ${{ matrix.node-version }}
uses: 'actions/setup-node@v2.1.2'
with:
node-version: ${{ matrix.node-version }}
- name: 'Cache dependencies'
uses: 'actions/cache@v2'
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- run: 'npm install'
- run: 'npm run lint'
ci_s-divlo-fr:
runs-on: 'ubuntu-latest'
defaults:
run:
working-directory: 's.divlo.fr'
strategy:
matrix:
node-version: [14.x]
steps:
- uses: 'actions/checkout@v2'
- name: Use Node.js ${{ matrix.node-version }}
uses: 'actions/setup-node@v2.1.2'
with:
node-version: ${{ matrix.node-version }}
- name: 'Cache dependencies'
uses: 'actions/cache@v2'
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- run: 'npm install'
- run: 'npm run lint'

23
LICENSE
View File

@ -1,8 +1,21 @@
The MIT License (MIT)
Copyright © 2020 Divlo
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Copyright (c) Divlo
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -5,11 +5,13 @@
</p>
<p align="center">
<a href="https://github.com/Divlo/FunctionProject/actions?query=workflow%3A%22Node.js+CI%22"><img src="https://github.com/Divlo/FunctionProject/workflows/Node.js%20CI/badge.svg" alt="Node.js CI" /></a>
<a href="https://standardjs.com"><img alt="JavaScript Style Guide" src="https://img.shields.io/badge/code_style-standard-brightgreen.svg"/></a>
<a href="https://conventionalcommits.org"><img src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg" alt="Conventional Commits" /></a>
<a href="./LICENSE"><img src="https://img.shields.io/badge/licence-MIT-blue.svg" alt="Licence MIT"/></a>
<a href="https://conventionalcommits.org"><img src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg" alt="Conventional Commits" /></a>
<a href="./.github/CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Contributor Covenant" /></a>
<br/> <br/>
<a href="https://function.divlo.fr/"><img src="https://raw.githubusercontent.com/Divlo/FunctionProject/master/.github/FunctionProject.png" alt="FunctionProject" /></a>
<a href="https://function.divlo.fr/"><img src="https://raw.githubusercontent.com/Divlo/FunctionProject/master/.github/images/FunctionProject.png" alt="FunctionProject" /></a>
</p>
## ⚙️ À propos
@ -22,7 +24,7 @@ Si vous aimez le projet, vous pouvez aider à **le faire connaître** en utilisa
Les dernières versions publiées : [https://github.com/Divlo/FunctionProject/releases](https://github.com/Divlo/FunctionProject/releases)
Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/) (actuellement en version 2.2).
Le projet est disponible sur [function.divlo.fr](https://function.divlo.fr/) (actuellement en version 2.3).
## 🚀 Open Source
@ -58,7 +60,7 @@ cd ../website
npm install
```
Vous devrez ensuite configurer l'API en créant un fichier `.env` à la racine du dossier `/api` et prendre exemple du fichier `.env.example` avec votre configuration.
Vous devrez ensuite configurer les variables d'environnements en créant un fichier `.env` à la racine du dossier `/api`, `/website` et `s.divlo.fr` pour prendre exemple du fichier `.env.example` avec votre configuration.
### Lancer l'environnement de développement
@ -98,6 +100,6 @@ Enjoy! 😃
[![JavaScript Style Guide](https://cdn.rawgit.com/standard/standard/master/badge.svg)](https://github.com/standard/standard)
## 📄 Licence
## 📄 License
Ce projet est sous licence MIT - voir le fichier [LICENSE](./LICENSE) pour plus de détails.
[MIT](./LICENSE)

36
website/.gitignore vendored
View File

@ -1,22 +1,24 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
node_modules
.pnp
.pnp.js
# testing
/coverage
.yarn
# next.js
/.next/
/out/
.next
out
# production
/build
build
dist
# misc
.DS_Store
# PWA
**/public/workbox-*.js
**/public/sw.js
# envs
.env
.env.production
@ -24,3 +26,17 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# lockfiles
package-lock.json
yarn.lock
pnpm-lock.yaml
# editors
.vscode
.theia
.idea
# misc
.DS_Store
.lighthouseci

View File

@ -8,7 +8,7 @@ export default function Footer () {
<Link href='/about'>
<a>FunctionProject</a>
</Link>
&nbsp;- Version 2.2 <br />
&nbsp;- Version 2.3 <br />
<a href='https://divlo.fr/' target='_blank' rel='noopener noreferrer'>
Divlo
</a>{' '}