diff --git a/docs/release.md b/docs/release.md index b65d956f39..668f423156 100644 --- a/docs/release.md +++ b/docs/release.md @@ -41,9 +41,9 @@ You must be an official maintainer of the project to be able to do a release. - Run `scripts/releaser.sh` to create a new GitHub release. Alternatively you can create a release in the GitHub UI making sure to click on the autogenerate release node feature. - The step above will trigger the Kubernetes based CI/CD system [Prow](https://prow.k8s.io/?repo=kubernetes-sigs%2Fexternal-dns). Verify that a new image was built and uploaded to `gcr.io/k8s-staging-external-dns/external-dns`. - Create a PR in the [k8s.io repo](https://github.com/kubernetes/k8s.io) by taking the current staging image using the sha256 digest. They can be obtained with `scripts/get-sha256.sh`. Once the PR is merged, the image will be live with the corresponding tag specified in the PR. - - See https://github.com/kubernetes/k8s.io/pull/540 for reference + - See https://github.com/kubernetes/k8s.io/pull/8466 for reference - Verify that the image is pullable with the given tag - - `docker run registry.k8s.io/external-dns/external-dns:v0.16.0 --version` + - `docker run registry.k8s.io/external-dns/external-dns:v0.x.0 --version` - Branch out from the default branch and run `scripts/version-updater.sh` to update the image tag used in the kustomization.yaml and in documentation. - Create the PR with this version change. - Create an issue to release the corresponding Helm chart via the chart release process (below) assigned to a chart maintainer diff --git a/scripts/releaser.sh b/scripts/releaser.sh index e71ea4e7c6..547ece7c98 100755 --- a/scripts/releaser.sh +++ b/scripts/releaser.sh @@ -30,6 +30,15 @@ function generate_changelog { echo "## :package: Others" echo cat "${MERGED_PRS}" | grep -v "\!" | grep -v feat[:\(] | grep -v fix[:\(] | grep -v docs[:\(] + + echo + echo "## :package: Docker Image" + echo + echo "\`\`\`sh" + echo "# This pull command only works when it's released + echo "docker pull registry.k8s.io/external-dns/external-dns:${VERSION}" + echo "\`\`\`" + } function create_release { @@ -66,12 +75,14 @@ gh pr list \ " | sort > "${MERGED_PRS}" if [ $# -ne 1 ]; then + export VERSION="v0.x.0" generate_changelog "${MERGED_PRS}" echo "** DRY RUN **" echo - echo "To create a release: ./releaser.sh v0.17.0" + echo "To create a release: ./releaser.sh v0.x.0" else - generate_changelog "${MERGED_PRS}" | gh release create "$1" -t "$1" -p -F - + export VERSION="$1" + generate_changelog "${MERGED_PRS}" | gh release create "${VERSION}" -t "${VERSION}" -p -F - fi rm -f "${MERGED_PRS}"