Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update rule of commit #603

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@
const config = {
extends: ["@commitlint/config-conventional"],
ignores: [commit => /release/.test(commit)],
rules: {
'scope-enum': [
2,
'always',
[
'design-system',
'look&feel',
'slash',
'apollo',
'deps',
'deps-dev',
'release',
],
],
},
};

module.exports = config;
22 changes: 22 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,25 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

commitlint:
if: github.event_name == 'pull_request'
name: CommitLint
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: "*" # Use the LTS Node.js version
cache: "npm"
- run: npm ci

# https://commitlint.js.org/guides/ci-setup.html#github-actions
- name: Validate PR commits with commitlint
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose --color
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,51 @@ git switch -c nom-de-ma-branche

3. **Soumettre une Pull Request :** Une fois que vous êtes satisfait de vos modifications, soumettez une pull request vers la branche principale du projet.

## Règles de Commit

### Convention de Commit

Nous utilisons [Conventional Commits](https://www.conventionalcommits.org/) pour nous assurer que les messages de commit respectent les conventions spécifiées.

````plaintext
<type>[scope]: <description>

[optional body]

[optional footer(s)]
````

Voici les règles à suivre pour les scopes de commit :
- Utilisez le scope correspondant au design system mis à jour par le commit. Les scopes disponibles sont :
- `slash`
- `look&feel`
- `apollo`
- Si le commit traite de deux ou plusieurs design systems, séparez les scopes par une virgule (`,`).
- Si le commit est plus général au projet, utilisez le scope `design-system`.
- Les scopes `deps`, `deps-dev` et `release` sont réservés et ne doivent pas être utilisés.

Exemples de messages de commit valides :

```plaintext
feat(slash): ajout d'un nouveau composant
fix(look&feel,apollo): correction des styles et des icônes
chore(design-system): mise à jour des dépendances
```

### Breaking Changes

Pour indiquer un changement majeur qui casse la compatibilité, ajoutez un '!' entre le scope et les ':' ainsi qu'une section "BREAKING CHANGE" dans le footer du commit.

> Le '!' permet de signaler que le commit contient une breaking change.\
> La section "BREAKING CHANGE" permet de décrire les changements majeurs apportés par le commit.

Exemple :
```plaintext
feat(slash)!: suppression des classModifiers

BREAKING CHANGE: Les classModifiers ont été supprimés des composant Slash. Il faut désormais utiliser les props dédiés comme `variant` ou `size`.
```

## Système de Tâches

Toutes les tâches et discussions sont gérées via les issues sur GitHub. Consultez la [page des issues](https://github.com/AxaFrance/design-system/issues) pour voir ce sur quoi les collaborateurs travaillent actuellement.
Expand Down
Loading