From 8337287886ef243e08d3e49f970193c24953168a Mon Sep 17 00:00:00 2001 From: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> Date: Thu, 25 Jul 2024 05:40:59 +0200 Subject: [PATCH] chore: fix release process issues Signed-off-by: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> --- .github/workflows/chart-release-pr.yml | 20 ++++++++++++++++++-- .github/workflows/chart-release.yaml | 4 ++-- scripts/generate-release-notes.sh | 6 ++---- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/.github/workflows/chart-release-pr.yml b/.github/workflows/chart-release-pr.yml index e281b07d25..65fa688c71 100644 --- a/.github/workflows/chart-release-pr.yml +++ b/.github/workflows/chart-release-pr.yml @@ -9,6 +9,10 @@ permissions: contents: write pull-requests: write +env: + RELEASE_PLEASE_CONFIG_FILE: .github/config/release-please/release-please-config.json + RELEASE_PLEASE_MANIFEST_FILE: .github/config/release-please/.release-please-manifest.json + jobs: release-please: name: Run Release Please @@ -20,9 +24,21 @@ jobs: with: app_id: ${{ secrets.GH_APP_ID_DISTRO_CI }} private_key: ${{ secrets.GH_APP_PRIVATE_KEY_DISTRO_CI }} + - name: Checkout + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + with: + ref: main + fetch-depth: 0 + # A workaround for https://github.com/googleapis/release-please/issues/2202 + - name: Get latest release commit + run: | + last_release_sha="$(git log -n1 --pretty=format:'%H' --grep='chore(release):')" + cat "${RELEASE_PLEASE_CONFIG_FILE}" | + jq --arg last_release_sha "${last_release_sha}" '."last-release-sha" = $last_release_sha' | + tee "${RELEASE_PLEASE_CONFIG_FILE}" - uses: googleapis/release-please-action@7987652d64b4581673a76e33ad5e98e3dd56832f # v4 with: token: '${{ steps.generate-github-token.outputs.token }}' # Config docs: https://github.com/googleapis/release-please/blob/main/docs/manifest-releaser.md - config-file: .github/config/release-please/release-please-config.json - manifest-file: .github/config/release-please/.release-please-manifest.json + config-file: "${{ env.RELEASE_PLEASE_CONFIG_FILE }}" + manifest-file: "${{ env.RELEASE_PLEASE_MANIFEST_FILE }}" diff --git a/.github/workflows/chart-release.yaml b/.github/workflows/chart-release.yaml index f191292e2a..f8b4b040b6 100644 --- a/.github/workflows/chart-release.yaml +++ b/.github/workflows/chart-release.yaml @@ -163,11 +163,11 @@ jobs: - name: Checkout uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: - # The verification step happens in the "release" branch before merging into the "main" branch. + # The verification step happens in the release branch before merging into the "main" branch. fetch-depth: 0 + ref: release-please--branches--main - name: Install env dependencies uses: asdf-vm/actions/install@05e0d2ed97b598bfce82fd30daf324ae0c4570e6 # v3 - # NOTE: This simple test is under review. So it could fail (it should be fixed in that case). - name: Simple smoke test uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3 with: diff --git a/scripts/generate-release-notes.sh b/scripts/generate-release-notes.sh index 93a282abac..a19dc26fef 100644 --- a/scripts/generate-release-notes.sh +++ b/scripts/generate-release-notes.sh @@ -8,9 +8,7 @@ main () { chart_file="${chart_dir}/Chart.yaml" chart_name="$(yq '.name' ${chart_file})" chart_version="$(yq '.version' ${chart_file})" - chart_version_previous="$(git show main:${chart_file} | yq '.version')" chart_tag="${chart_name}-${chart_version}" - chart_tag_previous="${chart_name}-${chart_version_previous}" # # Early exit if the tag already exists. @@ -26,10 +24,10 @@ main () { # Generate RELEASE-NOTES.md file (used for Github release notes and ArtifactHub "changes" annotation). git-chglog \ --output "${chart_dir}/RELEASE-NOTES.md" \ - --tag-filter-pattern "${chart_tag}" \ + --tag-filter-pattern "${chart_name}" \ --next-tag "${chart_tag}" \ --path "${chart_dir}" \ - "${chart_tag_previous}".."${chart_tag}" + "${chart_tag}" # # Update ArtifactHub "changes" annotation in the Chart.yaml file.