Skip to content
Christian Mäder edited this page Oct 6, 2021 · 17 revisions

Prepare a Release

  1. Make sure you're on the develop branch: git checkout develop
  2. 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.
  3. 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 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
  4. Put the new version into the VERSION file: echo "0.20.0" > VERSION
  5. Put the new version into the docker-compose.yml file: Replace :${VERSION-v3.0-1.4.1} with the latest version combination.
  6. Make a commit with the version file change: git commit -m "Preparation for $(cat VERSION)" VERSION docker-compose.yml
  7. Push the branch and make a new PR on Github from develop to release

Now another maintainer has to approve the PR.

Make the release (mostly automatically)

The release script automates the merging and tagging and pushing. It tries to be as safe as possible to use. E.g. it checks that there are no pending changes in the current repository.

  1. Run ./release.sh in the develop branch.
  2. Now go to Github and draft a new release. Copy the text from the most recent previous release and adjust it according to the new release.
  3. Eventually announce the release on our Slack channel.

Make the release (completely manually)

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
    2. Click Draft a New Release
    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. Copy the text from the most recent previous release and adjust it according to the new release.

Eventually announce the release on our Slack channel.

Cleanup

Close the related Github milestone and all issues that have been fixed by this version.

Clone this wiki locally