Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
15 changes: 13 additions & 2 deletions scripts/releaser.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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}"
Loading