- Release the other projects:
- If needed, publish a release for ng-core and rero-ils-ui OR sonar-ui
- Prepare a release-candidate:
- Decide what you want to integrate into the new release and merge everything into a branch to be used as a release-candidate (usually
staging
).
- Deploy the state of this branch to
test
or dev
servers for internal testing.
- Translate the release:
- Extract the new translations to Weblate and give the contributors some time to translate the new strings; then, integrate the translation commit. See detailed translation workflow.
- Prepare a release commit:
- Make sure your local repository is up to date with remote (
git fetch -p --all
).
- Update
scripts/bootstrap
with the rero-ils-ui
OR sonar-ui
used version.
- Update
rero_ils/version.py
OR sonar/version.py
.
- Update
pyproject.toml
.
- Update the
CHANGELOG.md
file as described here.
- Commit with message
release: v1.X.X
- Open a Pull Request for the release on the Github repository.
- Publish to
master
:
- When the release PR is merged into
staging
, update your local staging
branch, verify carefully that the commits, commit hashes are the same.
- Checkout to your local
master
branch, make sure it's up to date with the remote master
.
- Merge your local
staging
branch into your local master
: git rebase staging
. Check that your staging
and master
are up to date with upstream/staging
.
- Tag the last commit:
git tag -m "v1.X.X" v1.X.X
.
- Push the local
master
branch to remote, with the tag: git push --tags [rero-remote-repository-name] master
.
- On Github, edit the corresponding tag (that means publishing a new release) with title
v1.X.X
. Copy paste the corresponding changelog from CHANGELOG.md
to the description.
- Translate the release:
- Usually at the same time than the translation for the backend project.
- Extract the new translations to Weblate and give the conrtributors some time to translate the new strings; then, integrate the translation commit. See detailed translation workflow.
- Prepare a release commit:
- Check that:
- the
staging
branch contains all PRs and branches planned for the release
- the translations are up to date
- Update the
version
property in package.json
file.
- Update the
ng-core
version in package.json
file if you use a new version of ng-core
.
- Run the command
npm i
to update package-lock.json
file.
- Update the
CHANGELOG.md
file as described here.
- Commit with message
release: v1.X.X
- Open a Pull Request for the release on the Github repository.
- Publish NPM package (usually done by a developer)
- Checkout to your local
staging
branch, make sure it's up to date with the
remote staging
.
- Build library with the command
npm run pack
(from the project's root).
- Navigate to the
/build
directory and execute npm publish
to publish library in npm registry. You must be logged in npm and the user has to belong to rero
organisation (Check with IT to get access).
- Publish to
master
:
- When the release PR is merged into staging, checkout to your local
master
branch, make sure it's up to date with the remote master
.
- Merge the
staging
branch into master: git rebase staging
.
- Tag the last commit:
git tag -m "v1.X.X" v1.X.X
- Push the local
master
branch to remote, with the tag: git push --tags [rero-remote-repository-name] master
.
- On Github, edit the corresponding tag (that means publishing a new release) with title
v1.X.X
. Copy paste the corresponding changelog from CHANGELOG.md
to the description.
- Prepare a release commit:
- Update the
version
property in package.json
file.
- Update the
version
property in projects/rero/ng-core/package.json
file.
- Run the command
npm i
to update package-lock.json
file.
- Commit the changes to
staging
or on a specific branch and specify changes in commit message.
- Push or PR+merge the release commit to
upstream/staging
.
- Publish NPM package (usually done by a developer)
- Checkout to your local
staging
branch, make sure it's up to date with the remote staging
.
- Build library with the command
ng build @rero/ng-core
.
- Go to generated library with command
cd dist/rero/ng-core
.
- Check version is correct in
package.json
in the current folder.
- Execute
npm publish
to publish library in npm registry. You must be logged in npm and the user has to belong to rero
organisation (Check with IT to get access).
- Publish release to
master
- Go back to root folder.
- Checkout to your local
master
branch, make sure it's up to date with the remote master
.
- Merge the
staging
branch into master: git rebase staging
.
- Tag the last commit:
git tag -m "v0.X.X" v0.X.X
.
- Push the local
master
branch to remote, with the tag: git push --tags [rero-remote-repository-name] master
.
- On Github, edit the corresponding tag (that means publishing a new release) with title
v1.X.X
. Copy paste the corresponding changelog from CHANGELOG.md
to the description.