The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
The [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/#summary) is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
The commit message should be structured as follows:
...
...
@@ -22,32 +22,30 @@ The commit contains the following structural elements, to communicate intent to
* types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the the Angular convention) recommends `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:`, and others.
* footers other than BREAKING CHANGE: <description> may be provided and follow a convention similar to git trailer format.
Find out more [here](https://www.conventionalcommits.org/en/v1.0.0/#summary)
## Release Ecolyo with Standard-version
Standard-version is library javascript that allow to handle easily tags and changelog file.
[Standard-version](https://github.com/conventional-changelog/standard-version) is library javascript that allow to handle easily tags and changelog file.
To create a new release, you have to :
1. the following command in order to create a release tag, bump package.json version and update changelog file.
1. checkout on the branch `dev` and bump the version number in `manifest.webapp`. Use the following commit format: 'bump manifest version to X.X.X'
2. checkout on the branch `dev` and bump the version number in `manifest.webapp`. Use the following commit format: 'bump manifest version to X.X.X'
2. then run
3. then run the script
```bash
yarn run --release-as X.X.X # replace with version number (ex: 1.2.0)
yarn run release --release-as X.X.X # replace with version number (ex: 1.2.0)
```
3. once the command has finished, push with
4. once the command has finished, push with
```
git push --follow-tags origin dev
```
:warning: Do not push with VS Code
Finally, add release notes in gitlab in your project -> repository -> [tags](https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/-/tags) -> **edit release notes**
5.Finally, add release notes in gitlab in your project -> repository -> [tags](https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/-/tags) -> **edit release notes**
You can copy paste the last changes in [CHANGELOG.MD](https://forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/-/blob/dev/CHANGELOG.md)
...
...
@@ -75,8 +73,3 @@ git tag -a v2.1.3 COMMIT_SHA -m 'chore(release): 2.1.3' -f
```
This command will annotate an existing tag (v2.1.3 with chore(release): 2.1.3 here) to the right commit. You'll have to pass the commit_sha from the related chore commit.