From 323fac2dc282bd47dbfd1cbaee470a53951da17e Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Fri, 28 Feb 2025 09:18:42 -0800 Subject: [PATCH 1/2] Add build artifact containing json file of all wire compatible versions --- build.gradle | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/build.gradle b/build.gradle index 6d4893b21fe48..a8fb0d901198b 100644 --- a/build.gradle +++ b/build.gradle @@ -229,6 +229,22 @@ tasks.register("verifyVersions") { } } +def generateUpgradeCompatibilityFile = tasks.register("generateUpgradeCompatibilityFile") { + def outputFile = project.layout.buildDirectory.file("rolling-upgrade-compatible.json") + def rollingUpgradeCompatibleVersions = buildParams.bwcVersions.wireCompatible - VersionProperties.elasticsearchVersion + inputs.property("rollingUpgradeCompatibleVersions", rollingUpgradeCompatibleVersions) + outputs.file(outputFile) + doLast { + def versionsString = rollingUpgradeCompatibleVersions.collect { "\"${it.toString()}\"" }.join(', ') + outputFile.get().asFile.write("""{"rolling_upgrade_compatible_versions" : [${versionsString}]}""") + } +} + +def upgradeCompatibilityZip = tasks.register("upgradeCompatibilityZip", Zip) { + archiveFile.set(project.layout.buildDirectory.file("rolling-upgrade-compatible.zip")) + from(generateUpgradeCompatibilityFile) +} + // TODO: This flag existed as a mechanism to disable bwc tests during a backport. It is no // longer used for that purpose, but instead a way to run only functional tests. We should // rework the functionalTests task to be more explicit about which tasks it wants to run @@ -483,6 +499,7 @@ tasks.register("buildReleaseArtifacts").configure { } .collect { GradleUtils.findByName(it.tasks, 'assemble') } .findAll { it != null } + dependsOn upgradeCompatibilityZip } tasks.register("spotlessApply").configure { From a0795a56e3880294c79ca5d35f384d5b8b2587d3 Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Fri, 28 Feb 2025 09:18:42 -0800 Subject: [PATCH 2/2] Append version to artifact files --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index a8fb0d901198b..71f8f8df9e8d7 100644 --- a/build.gradle +++ b/build.gradle @@ -230,7 +230,7 @@ tasks.register("verifyVersions") { } def generateUpgradeCompatibilityFile = tasks.register("generateUpgradeCompatibilityFile") { - def outputFile = project.layout.buildDirectory.file("rolling-upgrade-compatible.json") + def outputFile = project.layout.buildDirectory.file("rolling-upgrade-compatible-${VersionProperties.elasticsearch}.json") def rollingUpgradeCompatibleVersions = buildParams.bwcVersions.wireCompatible - VersionProperties.elasticsearchVersion inputs.property("rollingUpgradeCompatibleVersions", rollingUpgradeCompatibleVersions) outputs.file(outputFile) @@ -241,7 +241,7 @@ def generateUpgradeCompatibilityFile = tasks.register("generateUpgradeCompatibil } def upgradeCompatibilityZip = tasks.register("upgradeCompatibilityZip", Zip) { - archiveFile.set(project.layout.buildDirectory.file("rolling-upgrade-compatible.zip")) + archiveFile.set(project.layout.buildDirectory.file("rolling-upgrade-compatible-${VersionProperties.elasticsearch}.zip")) from(generateUpgradeCompatibilityFile) }