Releases⚓︎
Changelog
This document describes how we release uMap.
If you are looking for the releases changelog, please go there.
How to make a release⚓︎
- Make sure JS packages are up to date:
make installjs vendors
- Run tests:
make test
- I18N
make messageslook for new strings within the codemake tx_pushto publish new strings to transifex- translators at work
make tx_pullto retrieve new translations from transifexmake compilemessagesto create regular.mo+umap/static/umap/locale/*.js- commit new translations
git commit -am "i18n"
- Test collectstatic:
umap collectstatic --no-input - Bump version:
make patch|minor - Ask automatic release notes to Github:
make changelogand paste it indocs/changelog.md git commit -am "2.X.Y"git tag 2.X.Ygit push && git push --tag- Go to Github release page and paste release notes
make buildmake publishmake docker
Deploying instances⚓︎
OSMfr⚓︎
We use a custom flat Makefile, versioned here.
To deploy a new version on the dev server:
- edit the
.env.devfile and change the version number - run this command
FLAVOUR=dev make deploy
To deploy a new version on OSM France servers:
- edit the
.env.osmfrfile and change the version number - run this command
FLAVOUR=osmfr make deploy
ANCT⚓︎
Update the Dockerfile 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 “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)
- when we change the deployment system requirements
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