Update from master based branching to develop/release based branching

Christian Mäder 2019-12-10 22:09:51 +01:00
parent 60db1068de
commit 55b3894d22

@ -1,22 +1,41 @@
1. Make sure you're on the `master` branch: `git checkout master`
## Prepare a Release
1. Make sure you're on the `develop` branch: `git checkout develop`
1. Make sure, that the branch is clean: `git status` should not show any pending change.
1. Use `git stash` to stash them away for the release process.
1. Merge any relevant feature into `master`.
1. Create a new local branch: `git checkout -b feature-name master`
1. Merge any relevant feature into `develop`.
Either via Github PRs (make sure the PR targets the `develop` branch!) or manually:
1. Create a new local branch: `git checkout -b feature-name develop`
2. Pull the remote change into the current branch: `git pull https://github.com/other-user-or-org/netbox-docker.git remote-branch-name`
3. Check whether the build still works: `./build.sh`
4. Switch back to your master branch: `git checkout master`
5. Merge the feature into the master branch: `git merge --no-ff feature-name`
4. Switch back to your `develop` branch: `git checkout develop`
5. Merge the feature into the `develop` branch: `git merge --no-ff feature-name`
6. Clean up your local branches: `git branch -d feature-name`
2. Put the new version into the `VERSION` file: `echo "0.20.0" > VERSION`
3. Make a commit with the version file change: `git commit -m "Preparation for $(cat VERSION)" VERSION`
4. Tag that commit: `git tag "$(cat VERSION)"`
5. Push the features and the tag: `git push --tags origin && git push origin`
6. Eventually unstash your previous work: `git stash pop`
4. Push the branch and make a PR on Github from `develop` to `release`
Now another maintainer has to approve the PR.
## Make the release
After the PR is merged, tag that commit:
- Either locally:
1. Checkout the `release` branch
2. Update to the latest version: `git pull -pr origin release`
3. Create the tag: `git tag "$(cat VERSION)"`
4. Push the tag: `git push origin --tags`
- Or on Github:
1. Go to the [Release Page][releases]
2. Click [Draft a New Release][draft]
3. Choose the `release` branch
4. Enter the exact value of the `VERSION` file into the Tag field.
Now go to Github and [draft a new release][draft]. Copy the text from [the most recent previous release][latest] and adjust it according to the new release.
Eventually announce the release on our Slack channel.
[releases]: https://github.com/netbox-community/netbox-docker/releases
[draft]: https://github.com/netbox-community/netbox-docker/releases/new
[latest]: https://github.com/netbox-community/netbox-docker/releases/latest