2025-03-14 13:46:00 +01:00
# Releasing a new version
Whenever we are cooking a new release (e.g. `4.18.1` ) we should follow a standard procedure described below:
1. Checkout and pull changes from the `main` branch to ensure you have the latest updates.
```bash
git checkout main
git pull
```
2. The next steps are automated in the `scripts/release.py` , you can run it using:
```bash
make release
```
This script will ask you for the version you want to release and the kind of release (patch, minor, major). It will then:
2025-03-18 18:14:48 +01:00
- Create a new branch named: `release/4.18.1` .
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
- Bump the release number for backend and frontend project.
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
- Update the project's `Changelog` following the [keepachangelog ](https://keepachangelog.com/en/0.3.0/ ) recommendations
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
- Commit your changes with the following format: 🔖 release emoji, type of release (patch/minor/patch) and release version:
2025-03-14 13:46:00 +01:00
```text
2025-03-14 17:05:43 +01:00
🔖(minor) release version 4.18.1
2025-03-14 13:46:00 +01:00
```
2025-03-18 18:14:48 +01:00
- Triggers Crowdin translation action and open related PR
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
- Open release PR. Wait for an approval from your peers and merge it.
> [!NOTE]
> It also open the PR for pre-prod deployment, see following section.
3. Following release script instructions,
- merge translation and release pulls requests
- tag and push your commit:
2025-03-14 13:46:00 +01:00
```bash
git tag v4.18.1 && git push origin tag v4.18.1
```
2025-03-18 18:14:48 +01:00
This triggers the CI building new Docker images. You can ensure images were successfully built on Docker Hub [here for back-end ](https://hub.docker.com/r/lasuite/people-backend/tags ) and [here for front-end ](https://hub.docker.com/r/lasuite/people-frontend/tags ).
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
# Deploying
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
## Staging
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
The `staging` platform is deployed automatically with every update of the `main` branch.
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
## Pre-prod and production
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
If you used the release script and had permission to push on [lasuite-deploiement ](https://github.com/numerique-gouv/lasuite-deploiement ), a deployment branch has been created. You can skip step 1.
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
Otherwise, for manual preprod and for production deployments :
1. Bump tag version for both front-end and back-end images in the `.gotmpl` file located in `manifests/<your-product>/env.d/<your-environment>/` ,
2. Add optional new secrets and variables, if applicable
3. Create a pull request
4. Submit to approval and merge PR
2025-03-14 13:46:00 +01:00
2025-03-18 18:14:48 +01:00
The release is now done! 🎉