Skip to content

Commit 8efdf60

Browse files
authored
fix: Add explicit repository context to gh CLI commands in release workflow (open-telemetry#2082) (open-telemetry#2086)
* refactor: remove installation instructions from release notes generation Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com> * refactor: remove installation instructions from release notes generation Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com> * fix: update release workflow to push to main branch and enhance release notes script Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com> * fix: update release workflow to push to main branch and enhance release notes script Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com> --------- Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com>
1 parent d24e0b1 commit 8efdf60

2 files changed

Lines changed: 21 additions & 5 deletions

File tree

.github/scripts/enhance-release-notes.sh

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
set -euo pipefail
55

6+
# Get the repository from environment or default
7+
REPO="${GITHUB_REPOSITORY:-open-telemetry/opentelemetry-helm-charts}"
8+
69
# Function to update release notes for a chart
710
update_release_notes() {
811
local chart_name="$1"
@@ -16,7 +19,7 @@ update_release_notes() {
1619
enhanced_notes=$(.github/scripts/generate-release-notes.sh "$chart_name" "$chart_version" "$app_version" "charts/$chart_name/")
1720

1821
# Get the current release notes
19-
current_notes=$(gh release view "$release_tag" --json body --jq '.body' 2>/dev/null || echo "")
22+
current_notes=$(gh release view "$release_tag" --repo "$REPO" --json body --jq '.body' 2>/dev/null || echo "")
2023

2124
if [[ -z "$current_notes" ]]; then
2225
echo "ERROR: No existing release notes found for ${release_tag}. This indicates a problem with the chart-releaser process."
@@ -32,7 +35,7 @@ update_release_notes() {
3235
$enhanced_notes"
3336

3437
# Update the release notes
35-
gh release edit "$release_tag" --notes "$combined_notes"
38+
gh release edit "$release_tag" --repo "$REPO" --notes "$combined_notes"
3639
}
3740

3841
# Main function to enhance release notes for recent releases
@@ -46,16 +49,16 @@ enhance_release_notes() {
4649
release_tag="${chart_name}-${chart_version}"
4750

4851
# Check if this release was just created (within the last 5 minutes)
49-
if gh release view "$release_tag" >/dev/null 2>&1; then
50-
release_date=$(gh release view "$release_tag" --json publishedAt --jq '.publishedAt')
52+
if gh release view "$release_tag" --repo "$REPO" >/dev/null 2>&1; then
53+
release_date=$(gh release view "$release_tag" --repo "$REPO" --json publishedAt --jq '.publishedAt')
5154
release_timestamp=$(date -d "$release_date" +%s)
5255
current_timestamp=$(date +%s)
5356
time_diff=$((current_timestamp - release_timestamp))
5457

5558
# If release was created within the last 5 minutes (300 seconds), check if appVersion changed
5659
if [[ $time_diff -lt 300 ]]; then
5760
# Check if appVersion changed compared to the previous chart version
58-
previous_chart_version=$(git tag -l "${chart_name}-*" --sort=-version:refname | grep -v "^${release_tag}$" | head -1)
61+
previous_chart_version=$(git tag -l "${chart_name}-*" --sort=-version:refname | grep -v "^${release_tag}$" | head -1 || echo "")
5962

6063
if [[ -n "$previous_chart_version" ]]; then
6164
# Get the previous appVersion from git

.github/workflows/release.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,30 @@ jobs:
5555
username: ${{ github.actor }}
5656
password: ${{ secrets.GITHUB_TOKEN }}
5757

58+
- name: Login to Helm OCI Registry
59+
run: |
60+
echo "${{ secrets.GITHUB_TOKEN }}" | helm registry login ghcr.io \
61+
--username ${{ github.actor }} \
62+
--password-stdin
63+
5864
- name: Push charts to GHCR
5965
run: |
6066
shopt -s nullglob
6167
for pkg in .cr-release-packages/*; do
6268
if [ -z "${pkg:-}" ]; then
6369
break
6470
fi
71+
echo "Pushing ${pkg} to oci://ghcr.io/${GITHUB_REPOSITORY}"
6572
helm push "${pkg}" "oci://ghcr.io/${GITHUB_REPOSITORY}"
6673
done
6774
75+
- name: Fetch newly created tags
76+
run: |
77+
git config --global url."https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/".insteadOf "https://github.com/"
78+
git fetch --tags origin
79+
6880
- name: Enhance release notes with OpenTelemetry links
6981
run: .github/scripts/enhance-release-notes.sh
7082
env:
7183
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
84+
GITHUB_REPOSITORY: "${{ github.repository }}"

0 commit comments

Comments
 (0)