Skip to content
Snippets Groups Projects
Commit 6b011de3 authored by Moul's avatar Moul
Browse files

[doc] #149: Add dev workflow ɧ, Update release workflow

parent dbf30571
No related branches found
No related tags found
No related merge requests found
Pipeline #13204 passed
# Contribute guide # Contribute guide
## Development workflow
Create and push a feature or bugfix release out of the `main` branch.
Name this branch after the ticket number `###`.
Open a merge out of this branch to the `main` branch:
```bash
main <- ###_feature_branch
```
## Pre-commit ## Pre-commit
We are using [`pre-commit`](https://pre-commit.com/) tool to perform checks on staged changes before committing. We are using [`pre-commit`](https://pre-commit.com/) tool to perform checks on staged changes before committing.
We are using it for `black` formatting, `isort` imports sorting, `pylint` code linting, `mypy` typing, and `gitlab-ci` linting. We are using it for `black` formatting, `isort` imports sorting, `pylint` code linting, `mypy` typing, and `gitlab-ci` linting.
...@@ -56,10 +64,10 @@ Follow [this documentation](https://github.com/Lucas-C/pre-commit-hooks#removing ...@@ -56,10 +64,10 @@ Follow [this documentation](https://github.com/Lucas-C/pre-commit-hooks#removing
Only difference is to update the year in `license_header.txt` rather than `LICENSE.txt`. Only difference is to update the year in `license_header.txt` rather than `LICENSE.txt`.
## Release workflow ## Release workflow
To handle a release, you have to respect this workflow: To handle a release, you have to follow this workflow:
* Verify all features and bug fixes are merged in the `dev` branch. * Verify all features and bug fixes are merged in the `main` branch.
* Checkout on the `dev` branch * Checkout on the `main` branch
* Update the `CHANGELOG.md` file and commit * Update the `CHANGELOG.md` file and commit
* Run the `release.sh` script with the version semantic number as argument: * Run the `release.sh` script with the version semantic number as argument:
...@@ -67,6 +75,6 @@ To handle a release, you have to respect this workflow: ...@@ -67,6 +75,6 @@ To handle a release, you have to respect this workflow:
./release.sh 0.50.0 ./release.sh 0.50.0
``` ```
* A new commit is added with the version number and a tag in git. * Create a MR containing the changelog and the commit updating the version
* Merge all new commits from `dev` to `master` on GitLab with a merge request. * Once the MR is merged to `main`, push the tag with `git push --tags`
* Release on PyPI from the GitLab pipeline manual job of the `master` branch. * To release to PyPI, the pipeline based on the tag should be used by triggerring the manual job on the `main` branch
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment