Skip to content

Commit 0466108

Browse files
authored
Add linux aarch64 distros to bwc setup plugin (#68631) (#69351)
Also improve and fix general test coverage of build-tools on aarch64
1 parent 8e99193 commit 0466108

File tree

9 files changed

+72
-23
lines changed

9 files changed

+72
-23
lines changed

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/fixtures/AbstractGradleFuncTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ abstract class AbstractGradleFuncTest extends Specification {
9292
return jarFile;
9393
}
9494

95-
File internalBuild(File buildScript = buildFile, String major = "7.9.1", String minor = "7.10.0", String bugfix = "7.11.0") {
95+
File internalBuild(File buildScript = buildFile, String major = "7.10.1", String minor = "7.11.0", String bugfix = "7.12.0") {
9696
buildScript << """plugins {
9797
id 'elasticsearch.global-build-info'
9898
}

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionBwcSetupPluginFuncTest.groovy

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
2020
apply plugin: 'elasticsearch.internal-distribution-bwc-setup'
2121
"""
2222
execute("git branch origin/7.x", file("cloned"))
23-
execute("git branch origin/7.9", file("cloned"))
23+
execute("git branch origin/7.10", file("cloned"))
2424
}
2525

2626
@Unroll
@@ -42,8 +42,31 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
4242

4343
where:
4444
bwcDistVersion | bwcProject | expectedAssembleTaskName
45-
"7.9.1" | "bugfix" | "assemble"
46-
"7.11.0" | "minor" | "extractedAssemble"
45+
"7.10.1" | "bugfix" | "assemble"
46+
"7.12.0" | "minor" | "extractedAssemble"
47+
}
48+
49+
@Unroll
50+
def "supports #platform aarch distributions"() {
51+
when:
52+
def result = gradleRunner(":distribution:bwc:minor:buildBwc${platform.capitalize()}Aarch64Tar",
53+
":distribution:bwc:minor:buildBwcOss${platform.capitalize()}Aarch64Tar",
54+
"-DtestRemoteRepo=" + remoteGitRepo,
55+
"-Dbwc.remote=origin",
56+
"-Dbwc.dist.version=${bwcDistVersion}-SNAPSHOT")
57+
.build()
58+
then:
59+
result.task(":distribution:bwc:minor:buildBwc${platform.capitalize()}Aarch64Tar").outcome == TaskOutcome.SUCCESS
60+
result.task(":distribution:bwc:minor:buildBwcOss${platform.capitalize()}Aarch64Tar").outcome == TaskOutcome.SUCCESS
61+
62+
and: "assemble tasks triggered"
63+
assertOutputContains(result.output, "[$bwcDistVersion] > Task :distribution:archives:${platform}-aarch64-tar:extractedAssemble")
64+
assertOutputContains(result.output, "[$bwcDistVersion] > Task :distribution:archives:oss-${platform}-aarch64-tar:extractedAssemble")
65+
66+
where:
67+
bwcDistVersion | platform
68+
"7.12.0" | "darwin"
69+
"7.12.0" | "linux"
4770
}
4871

4972
def "bwc distribution archives can be resolved as bwc project artifact"() {
@@ -77,10 +100,10 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
77100
result.task(":distribution:bwc:bugfix:buildBwcDarwinTar").outcome == TaskOutcome.SUCCESS
78101

79102
and: "assemble task triggered"
80-
result.output.contains("[7.9.1] > Task :distribution:archives:darwin-tar:assemble")
103+
result.output.contains("[7.10.1] > Task :distribution:archives:darwin-tar:assemble")
81104
normalized(result.output)
82-
.contains("distfile /distribution/bwc/bugfix/build/bwc/checkout-7.9/distribution/archives/darwin-tar/" +
83-
"build/distributions/elasticsearch-7.9.1-SNAPSHOT-darwin-x86_64.tar.gz")
105+
.contains("distfile /distribution/bwc/bugfix/build/bwc/checkout-7.10/distribution/archives/darwin-tar/" +
106+
"build/distributions/elasticsearch-7.10.1-SNAPSHOT-darwin-x86_64.tar.gz")
84107
}
85108

86109
def "bwc expanded distribution folder can be resolved as bwc project artifact"() {
@@ -116,12 +139,12 @@ class InternalDistributionBwcSetupPluginFuncTest extends AbstractGitAwareGradleF
116139
result.task(":resolveExpandedDistribution").outcome == TaskOutcome.SUCCESS
117140
result.task(":distribution:bwc:minor:buildBwcDarwinTar").outcome == TaskOutcome.SUCCESS
118141
and: "assemble task triggered"
119-
result.output.contains("[7.11.0] > Task :distribution:archives:darwin-tar:extractedAssemble")
142+
result.output.contains("[7.12.0] > Task :distribution:archives:darwin-tar:extractedAssemble")
120143
normalized(result.output)
121144
.contains("expandedRootPath /distribution/bwc/minor/build/bwc/checkout-7.x/" +
122145
"distribution/archives/darwin-tar/build/install")
123146
normalized(result.output)
124147
.contains("nested folder /distribution/bwc/minor/build/bwc/checkout-7.x/" +
125-
"distribution/archives/darwin-tar/build/install/elasticsearch-7.11.0-SNAPSHOT")
148+
"distribution/archives/darwin-tar/build/install/elasticsearch-7.12.0-SNAPSHOT")
126149
}
127150
}

buildSrc/src/integTest/groovy/org/elasticsearch/gradle/internal/InternalDistributionDownloadPluginFuncTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
7272
7373
elasticsearch_distributions {
7474
test_distro {
75-
version = "7.11.0"
75+
version = "7.12.0"
7676
type = "archive"
7777
platform = "linux"
7878
architecture = Architecture.current();
@@ -102,7 +102,7 @@ class InternalDistributionDownloadPluginFuncTest extends AbstractGradleFuncTest
102102
103103
elasticsearch_distributions {
104104
test_distro {
105-
version = "7.11.0"
105+
version = "7.12.0"
106106
type = "archive"
107107
platform = "linux"
108108
architecture = Architecture.current();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
5+
* in compliance with, at your election, the Elastic License 2.0 or the Server
6+
* Side Public License, v 1.
7+
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
5+
* in compliance with, at your election, the Elastic License 2.0 or the Server
6+
* Side Public License, v 1.
7+
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
5+
* in compliance with, at your election, the Elastic License 2.0 or the Server
6+
* Side Public License, v 1.
7+
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
5+
* in compliance with, at your election, the Elastic License 2.0 or the Server
6+
* Side Public License, v 1.
7+
*/

buildSrc/src/integTest/resources/org/elasticsearch/gradle/internal/fake_git/remote/settings.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@ include ":distribution:bwc:major"
1414
include ":distribution:bwc:staged"
1515
include ":distribution:archives:darwin-tar"
1616
include ":distribution:archives:oss-darwin-tar"
17+
include ":distribution:archives:darwin-aarch64-tar"
18+
include ":distribution:archives:oss-darwin-aarch64-tar"
19+
include ":distribution:archives:linux-aarch64-tar"
20+
include ":distribution:archives:oss-linux-aarch64-tar"

buildSrc/src/main/java/org/elasticsearch/gradle/internal/InternalDistributionBwcSetupPlugin.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -159,18 +159,12 @@ private static List<DistributionProject> resolveArchiveProjects(File checkoutDir
159159
projects.addAll(asList("deb", "rpm", "oss-deb", "oss-rpm"));
160160

161161
if (bwcVersion.onOrAfter("7.0.0")) { // starting with 7.0 we bundle a jdk which means we have platform-specific archives
162-
projects.addAll(
163-
asList(
164-
"oss-windows-zip",
165-
"windows-zip",
166-
"oss-darwin-tar",
167-
"oss-darwin-aarch64-tar",
168-
"darwin-tar",
169-
"darwin-aarch64-tar",
170-
"oss-linux-tar",
171-
"linux-tar"
172-
)
173-
);
162+
projects.addAll(asList("oss-windows-zip", "windows-zip", "oss-darwin-tar", "darwin-tar", "oss-linux-tar", "linux-tar"));
163+
164+
// We support aarch64 for linux and mac starting from 7.12
165+
if (bwcVersion.onOrAfter("7.12.0")) {
166+
projects.addAll(asList("oss-darwin-aarch64-tar", "oss-linux-aarch64-tar", "darwin-aarch64-tar", "linux-aarch64-tar"));
167+
}
174168
} else { // prior to 7.0 we published only a single zip and tar archives for oss and default distributions
175169
projects.addAll(asList("oss-zip", "zip", "tar", "oss-tar"));
176170
}

0 commit comments

Comments
 (0)