Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce keepachangelog.com #19

Open
tormi opened this issue Oct 20, 2022 · 0 comments
Open

Introduce keepachangelog.com #19

tormi opened this issue Oct 20, 2022 · 0 comments

Comments

@tormi
Copy link
Member

tormi commented Oct 20, 2022

Let's integrate https://keepachangelog.com/en/1.0.0/ into our flow. An example of a workflow from one of our projects:

## Release procedures

### Normal release

- Make sure `master` branch you're working on is up-to-date:

        git checkout master
        git pull

- Merge `master` branch into `production` to create a release:

        git checkout production
        git pull
        git merge master --no-ff --no-commit

- Before committing the merge change in CHANGELOG.md the title of [[Unreleased]](./CHANGELOG.md#Unreleased) section into the corresponding version numbered release title, e.g.:

>       ## [1.3.0] - 2020-11-17

- Add the changes in Changelog and commit merge:

        git add CHANGELOG.md
        git commit

- Tag your release on **`production`** branch, e.g.:

        git tag 1.3.0

- Push the changes to start deployment:

        git push
        git push --tags

- Back in `master` branch prepare the upcoming version for development phase and rebase to `production` ...

        git checkout master
        git rebase production --rebase-merges

- ... use `update-version.sh` script to increment version numbers (increment _minor_ version number by one) in `package.json` and `package-lock.json` files, e.g.:

        ./tools/update-version.sh 1.4.0
        git add package-lock.json
        git add package.json

- ... add new [Unreleased] title into CHANGELOG.md file
- ... and commit the result:

        git add CHANGELOG.md
        git commit -m "Init new development version"
        git push

### Hotfix release

- Make sure hotfix release is added to CHANGELOG.md, e.g.:

>       ## [1.3.1] - 2020-11-18
>
>       ### Fixed
>
>       - XXX-NN: Description of fix

- Also make sure version numbers in `package.json` and `package-lock.json` match with the hotfix version. You can use `update-version.sh` script to update them (increment _patch_ version number by one), e.g.:

        ./tools/update-version.sh 1.3.1

- Accept and merge the PR of hotfix branch / merge the hotfix branch into `production` branch:

        git checkout production
        git pull
        git merge hotfix/XXX-NN-your-hotfix-branch-title --no-ff

- Tag your release on **`production`** branch, e.g.:

        git tag 1.3.1

- Push the changes to start deployment (or just push tag if you merged a PR earlier):

        git push
        git push --tags

- Back in `master` branch (make sure it's up-to-date) rebase to `production` ...

        git checkout master
        git pull
        git rebase production --rebase-merges

- Resolve potential conflicts ...
  - Check history in CHANGELOG.md file
  - Conflicting version numbers in files should refer to version in `master` branch
- ... and (force) push:

        git push -f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant