umap/docs/release.md
David Larlet 3db6655548
Merge pull request #1918 from umap-project/docs-major-versions
docs: Major version in case of server change(s)
2024-07-12 12:08:05 -04:00

2.5 KiB

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. Make sure JS packages are up to date:
    • `make installjs vendors``
  2. Run tests:
    • make test
  3. I18N
    • make messages look for new strings within the code
    • make tx_push to publish new strings to transifex
    • 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"
  4. Test collectstatic: umap collectstatic --no-input
  5. Bump version: make patch|minor
  6. git commit -am "2.X.Y"
  7. git tag 2.X.Y
  8. git push && git push --tag
  9. Go to Github release page and Generate release notes + paste it in docs/changelog.md + finish Github process for a new release
  10. Commit the changelog git commit -am "changelog"
  11. make build
  12. make publish
  13. make docker

Deploying instances

OSMfr

We use a custom flat Makefile, versioned here.

To deploy a new version on the dev 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 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