The process of creating a new release should be documented. Here is the list of the steps to be executed (within `master` branch): - create a new commit - bump version in `NEWS.txt` - bump version in `pom.xml` (remove `-SNAPSHOT`: `./mvnw versions:set -DgenerateBackupPoms=false -DnewVersion=x.y.z`) - bump version in `ResourceUrl.RESOURCES_VERSION` - bump version in `src/main/frontend/package.json` and `src/main/frontend/package-lock.json` - set version in `infra/docker/docker-compose.yml` - set version in `infra/kubernetes/deployment.yml` - `git commit -a -m 'chore: release of x.y.z version'` - create and publish a new git tag (`git tag -a x.y.z -m x.y.z && git push --follow-tags`) - push changes to the `prod` branch and deploy to production (`git checkout prod; git merge master; git push; git checkout -`) - close the corresponding milestone on GitHub - [create a new release on GitHub](https://github.com/php-coder/mystamps/releases/new) for a just added tag from the following template: ``` 🚀 New Features - none :star: Improvements - none 🐞 Bugs Fixed - none 💥 Breaking Changes - none 📖 Documentation Updates - none 🔨 Internal Changes - none :page_facing_up: Other Changes - none ``` Empty sections should be removed and every item should have a link to a related issue. Use `git log --oneline x.y.z..x.y.z+1` for getting a list of the changes. - publish Docker image to DockerHub (and check on https://hub.docker.com/r/phpcoder/mystamps/tags): ``` ./mvnw clean ./mvnw package dockerfile:build dockerfile:tag -Ddockerfile.tag=x.y.z docker login -u phpcoder vim ~/.docker/config.json # empty "auths" object ./mvnw dockerfile:push docker tag phpcoder/mystamps:x.y.z phpcoder/mystamps:latest ./mvnw dockerfile:push -Ddockerfile.tag=latest docker rmi phpcoder/mystamps:x.y.${z-1} ``` - pom.xml: set version to `x.y.{$z+1}-SNAPSHOT`: `./mvnw versions:set -DgenerateBackupPoms=false -DnextSnapshot=true` - create an empty migration file for new version (to avoid regression like we had in #1265) - `git commit -a` with a message `chore: update version for development\n[skip ci]` - `git push`