73 lines
2.3 KiB
Markdown
73 lines
2.3 KiB
Markdown
# Releases
|
|
|
|
!!! info "Changelog"
|
|
|
|
This document describes how we release uMap.
|
|
|
|
If you are looking for the releases changelog, [please go there](changelog.md).
|
|
|
|
|
|
## How to make a release
|
|
|
|
1. Run tests:
|
|
- `make test`
|
|
1. I18N
|
|
- `make messages` look for new strings within the code
|
|
- `make tx_push` to publish new strings [to transifex](https://app.transifex.com/openstreetmap/umap/dashboard/)
|
|
- translators at work
|
|
- `make tx_pull` to retrieve new translations from transifex
|
|
- `make compilemessages` to create regular `.mo` + `umap/static/umap/locale/*.js`
|
|
- commit new translations `git commit -am "i18n"`
|
|
2. Test collectstatic: `umap collectstatic --no-input`
|
|
2. Bump version: `make patch|minor`
|
|
3. `git commit -am "1.X.Y"`
|
|
4. `git tag 1.X.Y`
|
|
5. `git push && git push --tag`
|
|
6. Go to [Github release page](https://github.com/umap-project/umap/releases/new) and Generate release notes + paste it in `docs/changelog.md` + finish Github process for a new release
|
|
7. Commit the changelog `git commit -am "changelog"`
|
|
8. `make build`
|
|
9. `make publish`
|
|
10. `make docker`
|
|
|
|
### Deploying instances
|
|
|
|
#### OSMfr
|
|
|
|
We use a custom flat Makefile, versioned [here](https://github.com/umap-project/umap-deploy).
|
|
|
|
To deploy a new version on the [dev](https://dev.umap-project.org) server:
|
|
|
|
- edit the `.env.dev` file and change the version number
|
|
- run this command `FLAVOUR=dev make deploy`
|
|
|
|
To deploy a new version on OSM France servers:
|
|
|
|
- edit the `.env.osmfr` file and change the version number
|
|
- run this command `FLAVOUR=osmfr make deploy`
|
|
|
|
#### ANCT
|
|
|
|
Update the [Dockerfile](https://gitlab.com/incubateur-territoires/startups/donnees-et-territoires/umap-dsfr-moncomptepro/-/blob/main/Dockerfile?ref_type=heads) with correct version and put a tag `YYYY.MM.DD` in order to deploy it to production.
|
|
|
|
|
|
## When to make a release
|
|
|
|
We aim to support [Baseline](https://developer.mozilla.org/en-US/blog/baseline-evolution-on-mdn/) “Widely available” (implemented in major browsers within the last 30 months).
|
|
|
|
### Major (2.Y.Z)
|
|
|
|
* when we bump Django to a major version
|
|
* when we change how we store data (both in database and filesystem)
|
|
|
|
### Minor (X.3.Z)
|
|
|
|
* when we add new features
|
|
* when we improve an existing feature
|
|
* when we improve the usability
|
|
* when we change templates
|
|
|
|
If it's not a major nor a patch, it's a minor.
|
|
|
|
### Patch (X.Y.12)
|
|
|
|
* when there are bugfixes
|