Skip to content

Add explicit versions in the branches.json and use them for calculating unreleased versions for BwC tests #129637

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft
21 changes: 14 additions & 7 deletions branches.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,32 @@
"notice": "This file is not maintained outside of the main branch and should only be used for tooling.",
"branches": [
{
"branch": "main"
"branch": "main",
"version": "9.2.0"
},
{
"branch": "9.1"
"branch": "9.1",
"version": "9.1.0"
},
{
"branch": "9.0"
"branch": "9.0",
"version": "9.0.3"
},
{
"branch": "8.19"
"branch": "8.19",
"version": "8.19.0"
},
{
"branch": "8.18"
"branch": "8.18",
"version": "8.18.3"
},
{
"branch": "8.17"
"branch": "8.17",
"version": "8.17.8"
},
{
"branch": "7.17"
"branch": "7.17",
"version": "7.17.29"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,23 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
assertOutputContains(result.output, "[$bwcDistVersion] > Task :distribution:archives:darwin-tar:${expectedAssembleTaskName}")

where:
bwcDistVersion | bwcProject | expectedAssembleTaskName
"8.4.0" | "minor" | "extractedAssemble"
"8.3.0" | "staged" | "extractedAssemble"
"8.2.1" | "bugfix" | "extractedAssemble"
"8.1.3" | "bugfix2" | "extractedAssemble"
bwcDistVersion | bwcProject | expectedAssembleTaskName
"8.4.0" | "major1" | "extractedAssemble"
"8.3.0" | "major2" | "extractedAssemble"
"8.2.1" | "major3" | "extractedAssemble"
"8.1.3" | "major4" | "extractedAssemble"
}

@Unroll
def "supports #platform aarch distributions"() {
when:
def result = gradleRunner(":distribution:bwc:minor:buildBwc${platform.capitalize()}Aarch64Tar",
def result = gradleRunner(":distribution:bwc:major1:buildBwc${platform.capitalize()}Aarch64Tar",
"-DtestRemoteRepo=" + remoteGitRepo,
"-Dbwc.remote=origin",
"-Dbwc.dist.version=${bwcDistVersion}-SNAPSHOT")
.build()
then:
result.task(":distribution:bwc:minor:buildBwc${platform.capitalize()}Aarch64Tar").outcome == TaskOutcome.SUCCESS
result.task(":distribution:bwc:major1:buildBwc${platform.capitalize()}Aarch64Tar").outcome == TaskOutcome.SUCCESS

and: "assemble tasks triggered"
assertOutputContains(result.output, "[$bwcDistVersion] > Task :distribution:archives:${platform}-aarch64-tar:extractedAssemble")
Expand All @@ -87,7 +87,7 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
}

dependencies {
expandedDist project(path: ":distribution:bwc:minor", configuration:"expanded-darwin-tar")
expandedDist project(path: ":distribution:bwc:major1", configuration:"expanded-darwin-tar")
}

tasks.register("resolveExpandedDistribution") {
Expand All @@ -109,12 +109,12 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
.build()
then:
result.task(":resolveExpandedDistribution").outcome == TaskOutcome.SUCCESS
result.task(":distribution:bwc:minor:buildBwcDarwinTar").outcome == TaskOutcome.SUCCESS
result.task(":distribution:bwc:major1:buildBwcDarwinTar").outcome == TaskOutcome.SUCCESS
and: "assemble task triggered"
result.output.contains("[8.4.0] > Task :distribution:archives:darwin-tar:extractedAssemble")
result.output.contains("expandedRootPath /distribution/bwc/minor/build/bwc/checkout-8.x/" +
result.output.contains("expandedRootPath /distribution/bwc/major1/build/bwc/checkout-8.x/" +
"distribution/archives/darwin-tar/build/install")
result.output.contains("nested folder /distribution/bwc/minor/build/bwc/checkout-8.x/" +
result.output.contains("nested folder /distribution/bwc/major1/build/bwc/checkout-8.x/" +
"distribution/archives/darwin-tar/build/install/elasticsearch-8.4.0-SNAPSHOT")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
def "resolves expanded bwc versions from source"() {
given:
internalBuild()
bwcMinorProjectSetup()
bwcMajor1ProjectSetup()
buildFile << """
apply plugin: 'elasticsearch.internal-distribution-download'

Expand All @@ -72,16 +72,16 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest

def result = gradleRunner("setupDistro").build()
then:
result.task(":distribution:bwc:minor:buildBwcExpandedTask").outcome == TaskOutcome.SUCCESS
result.task(":distribution:bwc:major1:buildBwcExpandedTask").outcome == TaskOutcome.SUCCESS
result.task(":setupDistro").outcome == TaskOutcome.SUCCESS
assertExtractedDistroIsCreated("distribution/bwc/minor/build/install/elastic-distro",
assertExtractedDistroIsCreated("distribution/bwc/major1/build/install/elastic-distro",
'bwc-marker.txt')
}

def "fails on resolving bwc versions with no bundled jdk"() {
given:
internalBuild()
bwcMinorProjectSetup()
bwcMajor1ProjectSetup()
buildFile << """
apply plugin: 'elasticsearch.internal-distribution-download'

Expand All @@ -105,12 +105,12 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
"without a bundled JDK is not supported.")
}

private void bwcMinorProjectSetup() {
private void bwcMajor1ProjectSetup() {
settingsFile << """
include ':distribution:bwc:minor'
include ':distribution:bwc:major1'
"""
def bwcSubProjectFolder = testProjectDir.newFolder("distribution", "bwc", "minor")
new File(bwcSubProjectFolder, 'bwc-marker.txt') << "bwc=minor"
def bwcSubProjectFolder = testProjectDir.newFolder("distribution", "bwc", "major1")
new File(bwcSubProjectFolder, 'bwc-marker.txt') << "bwc=major1"
new File(bwcSubProjectFolder, 'build.gradle') << """
apply plugin:'base'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe
given:
internalBuild()

subProject(":distribution:bwc:minor") << """
subProject(":distribution:bwc:major1") << """
configurations { checkout }
artifacts {
checkout(new File(projectDir, "checkoutDir"))
Expand All @@ -61,11 +61,11 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe
result.task(transformTask).outcome == TaskOutcome.NO_SOURCE
}

def "yamlRestCompatTest executes and copies api and transforms tests from :bwc:minor"() {
def "yamlRestCompatTest executes and copies api and transforms tests from :bwc:major1"() {
given:
internalBuild()

subProject(":distribution:bwc:minor") << """
subProject(":distribution:bwc:major1") << """
configurations { checkout }
artifacts {
checkout(new File(projectDir, "checkoutDir"))
Expand Down Expand Up @@ -98,8 +98,8 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe
String api = "foo.json"
String test = "10_basic.yml"
//add the compatible test and api files, these are the prior version's normal yaml rest tests
file("distribution/bwc/minor/checkoutDir/rest-api-spec/src/main/resources/rest-api-spec/api/" + api) << ""
file("distribution/bwc/minor/checkoutDir/src/yamlRestTest/resources/rest-api-spec/test/" + test) << ""
file("distribution/bwc/major1/checkoutDir/rest-api-spec/src/main/resources/rest-api-spec/api/" + api) << ""
file("distribution/bwc/major1/checkoutDir/src/yamlRestTest/resources/rest-api-spec/test/" + test) << ""

when:
def result = gradleRunner("yamlRestCompatTest").build()
Expand Down Expand Up @@ -145,7 +145,7 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe
given:
internalBuild()
withVersionCatalogue()
subProject(":distribution:bwc:minor") << """
subProject(":distribution:bwc:major1") << """
configurations { checkout }
artifacts {
checkout(new File(projectDir, "checkoutDir"))
Expand Down Expand Up @@ -186,7 +186,7 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe
given:
internalBuild()

subProject(":distribution:bwc:minor") << """
subProject(":distribution:bwc:major1") << """
configurations { checkout }
artifacts {
checkout(new File(projectDir, "checkoutDir"))
Expand Down Expand Up @@ -230,7 +230,7 @@ class LegacyYamlRestCompatTestPluginFuncTest extends AbstractRestResourcesFuncTe

setupRestResources([], [])

file("distribution/bwc/minor/checkoutDir/src/yamlRestTest/resources/rest-api-spec/test/test.yml" ) << """
file("distribution/bwc/major1/checkoutDir/src/yamlRestTest/resources/rest-api-spec/test/test.yml" ) << """
"one":
- do:
do_.some.key_to_replace:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@

rootProject.name = "root"

include ":distribution:bwc:bugfix"
include ":distribution:bwc:bugfix2"
include ":distribution:bwc:bugfix3"
include ":distribution:bwc:minor"
include ":distribution:bwc:major"
include ":distribution:bwc:staged"
include ":distribution:bwc:staged2"
include ":distribution:bwc:maintenance"
include ":distribution:bwc:major1"
include ":distribution:bwc:major2"
include ":distribution:bwc:major3"
include ":distribution:bwc:major4"
include ":distribution:bwc:minor1"
include ":distribution:bwc:minor2"
include ":distribution:bwc:minor3"
include ":distribution:bwc:minor4"
include ":distribution:archives:darwin-tar"
include ":distribution:archives:oss-darwin-tar"
include ":distribution:archives:darwin-aarch64-tar"
Expand Down
Loading
Loading