...
1#!/usr/bin/env bash
2
3# Copyright The Helm Authors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17RELEASE=${RELEASE:-$2}
18PREVIOUS_RELEASE=${PREVIOUS_RELEASE:-$1}
19
20## Ensure Correct Usage
21if [[ -z "${PREVIOUS_RELEASE}" || -z "${RELEASE}" ]]; then
22 echo Usage:
23 echo ./scripts/release-notes.sh v3.0.0 v3.1.0
24 echo or
25 echo PREVIOUS_RELEASE=v3.0.0
26 echo RELEASE=v3.1.0
27 echo ./scripts/release-notes.sh
28 exit 1
29fi
30
31## validate git tags
32for tag in $RELEASE $PREVIOUS_RELEASE; do
33 OK=$(git tag -l ${tag} | wc -l)
34 if [[ "$OK" == "0" ]]; then
35 echo ${tag} is not a valid release version
36 exit 1
37 fi
38done
39
40## Check for hints that checksum files were downloaded
41## from `make fetch-dist`
42if [[ ! -e "./_dist/helm-${RELEASE}-darwin-amd64.tar.gz.sha256sum" ]]; then
43 echo "checksum file ./_dist/helm-${RELEASE}-darwin-amd64.tar.gz.sha256sum not found in ./_dist/"
44 echo "Did you forget to run \`make fetch-dist\` first ?"
45 exit 1
46fi
47
48## Generate CHANGELOG from git log
49CHANGELOG=$(git log --no-merges --pretty=format:'- %s %H (%aN)' ${PREVIOUS_RELEASE}..${RELEASE})
50if [[ ! $? -eq 0 ]]; then
51 echo "Error creating changelog"
52 echo "try running \`git log --no-merges --pretty=format:'- %s %H (%aN)' ${PREVIOUS_RELEASE}..${RELEASE}\`"
53 exit 1
54fi
55
56## guess at MAJOR / MINOR / PATCH versions
57MAJOR=$(echo ${RELEASE} | sed 's/^v//' | cut -f1 -d.)
58MINOR=$(echo ${RELEASE} | sed 's/^v//' | cut -f2 -d.)
59PATCH=$(echo ${RELEASE} | sed 's/^v//' | cut -f3 -d.)
60
61## Print release notes to stdout
62cat <<EOF
63## ${RELEASE}
64
65Helm ${RELEASE} is a feature release. This release, we focused on <insert focal point>. Users are encouraged to upgrade for the best experience.
66
67The community keeps growing, and we'd love to see you there!
68
69- Join the discussion in [Kubernetes Slack](https://kubernetes.slack.com):
70 - `#helm-users` for questions and just to hang out
71 - `#helm-dev` for discussing PRs, code, and bugs
72- Hang out at the Public Developer Call: Thursday, 9:30 Pacific via [Zoom](https://zoom.us/j/696660622)
73- Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)
74
75## Notable Changes
76
77- Add list of
78- notable changes here
79
80## Installation and Upgrading
81
82Download Helm ${RELEASE}. The common platform binaries are here:
83
84- [MacOS amd64](https://get.helm.sh/helm-${RELEASE}-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-darwin-amd64.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-darwin-amd64.tar.gz.sha256))
85- [MacOS arm64](https://get.helm.sh/helm-${RELEASE}-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-darwin-arm64.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-darwin-arm64.tar.gz.sha256))
86- [Linux amd64](https://get.helm.sh/helm-${RELEASE}-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-amd64.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-amd64.tar.gz.sha256))
87- [Linux arm](https://get.helm.sh/helm-${RELEASE}-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-arm.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-arm.tar.gz.sha256))
88- [Linux arm64](https://get.helm.sh/helm-${RELEASE}-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-arm64.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-arm64.tar.gz.sha256))
89- [Linux i386](https://get.helm.sh/helm-${RELEASE}-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-386.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-386.tar.gz.sha256))
90- [Linux ppc64le](https://get.helm.sh/helm-${RELEASE}-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-ppc64le.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-ppc64le.tar.gz.sha256))
91- [Linux s390x](https://get.helm.sh/helm-${RELEASE}-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-s390x.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-s390x.tar.gz.sha256))
92- [Linux riscv64](https://get.helm.sh/helm-${RELEASE}-linux-riscv64.tar.gz) ([checksum](https://get.helm.sh/helm-${RELEASE}-linux-riscv64.tar.gz.sha256sum) / $(cat _dist/helm-${RELEASE}-linux-riscv64.tar.gz.sha256))
93- [Windows amd64](https://get.helm.sh/helm-${RELEASE}-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-${RELEASE}-windows-amd64.zip.sha256sum) / $(cat _dist/helm-${RELEASE}-windows-amd64.zip.sha256))
94
95The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with \`bash\`.
96
97## What's Next
98
99- ${MAJOR}.${MINOR}.$(expr ${PATCH} + 1) will contain only bug fixes.
100- ${MAJOR}.$(expr ${MINOR} + 1).${PATCH} is the next feature release. This release will focus on ...
101
102## Changelog
103
104${CHANGELOG}
105EOF
View as plain text