Release Process

Feature Request - Phase 1

  • Create a pull request
  • CI will be checked automatically
  • Once CI is passing, the author @mageddo must approve the PR
  • Merge the PR

Pre-Releasing New Version - Phase 2

  • Define the new version number
  • Document the new version and changes at RELEASE-NOTES.md
  • Generate the git tag with the steps below

Patch Version

$ ./gradlew release

Major Version

$ VERSION=3.18.0 && ./gradlew release -Prelease.releaseVersion=${VERSION} -Prelease.newVersion=${VERSION}

Release Latest - Phase 3

  • Define a pre-release version which will be promoted to the latest by following the rules.
  • Edit the github release setting the pre-release version as the latest, remove the -snapshot suffix from the title and from the attachments names.
  • Locally tag the latest docker image as the pre-release version bash $ docker tag defreitas/dns-proxy-server:${PRE_RELEASE_VERSION} mageddo/dns-proxy-server:latest
  • Check the docker image version by bash $ docker run defreitas/dns-proxy-server:latest --version
  • Push the pre-release version to the docker hub bash $ docker push defreitas/dns-proxy-server:latest