Skip to content

Releases and dependencies updates

Madec Germerie edited this page Sep 26, 2023 · 6 revisions

Releases and dependencies updates

A document about the release and dependencies update timelines and about how to make a release.

Releases and packages update timelines

  • One release every 2 month (after each planification of the work for the next two month for the core committers)
  • Dependencies updates:
    • Dependencies update right after the release
    • Dependencies update ~1 month after the release (when a new threejs version is released)
  • Core committers take it in turns to make releases

Releases process

Submit a release

To submit a release, one needs to :

  • checkout from iTowns' master branch on a local repository ;
  • run npm run bump locally ;
  • submit the automatically generated commit - without changing its name - in a pull request.

The bump script is the following :

if [ -z $npm_config_level ]; then grunt bump:minor; else grunt bump:$npm_config_level; fi && npm run changelog && git add -A && git commit --ammend --no-edit"

It :

  • uses grunt-bump framework to change the version number in package.json, package-lock.json and src/Main.js. These changes are saved in a commit named release vX.X.X. By default, a minor version update is made. It can be changed by setting an environment variable named npm_config_level prior to running bump script. grunt-bump documentation provides the supported values for npm_config_level. For instance, to push a major version bump, the following should be run :
export npm_config_level="major"
npm run bump
  • uses conventional-changelog-cli to update changelog.md file with all commits pushed since the latest published version. The configuration file for this framework is at config/conventionalChangelog/config.js. The modifications to changelog.md are added to the previously created commit.

Publish a release

Documentation on this part coming soon

Clone this wiki locally