diff --git a/.github/workflows/test-release.yaml b/.github/workflows/test-release.yaml index 71f9db94..a248535f 100644 --- a/.github/workflows/test-release.yaml +++ b/.github/workflows/test-release.yaml @@ -40,7 +40,7 @@ jobs: working-directory: ./release-notes-fetcher # The var CAMUNDA_RELEASE_NAME should be the same as GITHUB_REF_NAME but it's hard-coded as 8.3.1 tag # and we just want to see if a valid version can fetch notes - run: set -o pipefail; CAMUNDA_RELEASE_NAME=8.5.1 ./release-notes-fetcher | tee release_notes.txt + run: set -o pipefail; CAMUNDA_RELEASE_NAME=8.5.5 ./release-notes-fetcher | tee release_notes.txt env: GITHUB_CAMUNDA_ACCESS_TOKEN: ${{ steps.generate-camunda-github-token.outputs.token }} GITHUB_CAMUNDA_CLOUD_ACCESS_TOKEN: ${{ steps.generate-camunda-cloud-github-token.outputs.token }} diff --git a/release-notes-fetcher/fetch.go b/release-notes-fetcher/fetch.go index 57629bff..16f384b7 100644 --- a/release-notes-fetcher/fetch.go +++ b/release-notes-fetcher/fetch.go @@ -6,6 +6,8 @@ import ( "io" "os" "regexp" + "strconv" + "strings" "text/template" "github.com/Masterminds/semver/v3" @@ -21,7 +23,7 @@ const MainRepoName = "camunda-platform" const ZeebeRepoName = "camunda" const TasklistRepoName = "tasklist" const IdentityRepoName = "identity" -const OptimizeRepoName = "optimize" +const OptimizeRepoName = "camunda-optimize" const ReleaseNotesTemplateFileName = "release-notes-template.txt" type CamundaPlatformRelease struct { @@ -36,9 +38,9 @@ type CamundaPlatformRelease struct { type camundaAppVersions struct { Zeebe string Operate string - Tasklist string - Identity string - Optimize string + Tasklist string + Identity string + Optimize string } func GetChangelogReleaseContents(ctx context.Context, @@ -129,12 +131,23 @@ func main() { ) camundaReleaseVersion := getEnv("CAMUNDA_RELEASE_NAME", os.Getenv("GITHUB_REF_NAME")) + versionParts := strings.Split(camundaReleaseVersion, ".") + majorVersion, _ := strconv.Atoi(versionParts[0]) + minorVersion, _ := strconv.Atoi(versionParts[1]) + patchVersion, _ := strconv.Atoi(versionParts[2]) + + // For Optimize <= 8.6.0, tags are using the 3.x.x versioning + optimizeReleaseVersion := camundaReleaseVersion + if majorVersion <= 8 && minorVersion <= 6 { + optimizeReleaseVersion = fmt.Sprintf("%d.%d.%d", majorVersion-5, minorVersion+8, patchVersion) + } + camundaAppVersions := camundaAppVersions{ Identity: getEnv("IDENTITY_GITREF", camundaReleaseVersion), Operate: getEnv("OPERATE_GITREF", camundaReleaseVersion), Tasklist: getEnv("TASKLIST_GITREF", camundaReleaseVersion), Zeebe: getEnv("ZEEBE_GITREF", camundaReleaseVersion), - Optimize: getEnv("OPTIMIZE_GITREF", camundaReleaseVersion), + Optimize: getEnv("OPTIMIZE_GITREF", optimizeReleaseVersion), } ctx := context.TODO() @@ -153,6 +166,7 @@ func main() { log.Debug().Msg("Operate Github ref = " + camundaAppVersions.Operate) log.Debug().Msg("Identity Github ref = " + camundaAppVersions.Identity) log.Debug().Msg("Optimize Github ref = " + camundaAppVersions.Optimize) + zeebeReleaseNotes := GetLatestReleaseContents( ctx, RepoOwner, @@ -211,7 +225,7 @@ func main() { var OptimizeRepoName = "" optimizeSingleAppVersion, _ := semver.NewVersion("8.7.0-alpha1") if optimizeCurrentVersion.LessThan(optimizeMonoRepoVersion) { - OptimizeRepoName = "optimize" + OptimizeRepoName = "camunda-optimize" OptimizeRepoTag = camundaAppVersions.Optimize } else if optimizeCurrentVersion.LessThan(optimizeSingleAppVersion) { OptimizeRepoName = "camunda"