File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change 66
66
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1g -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN"
67
67
export MAVEN_CLI_OPTS="--no-transfer-progress"
68
68
mkdir -p ~/.m2
69
+ # `Maven Central` is too flaky in terms of downloading artifacts in `GitHub Action` environment.
70
+ # `Google Maven Central Mirror` is too slow in terms of sycing upstream. To get the best combination,
71
+ # 1) we set `Google Maven Central` as a mirror of `central` in `GitHub Action` environment only.
72
+ # 2) we duplicates `Maven Central` in pom.xml with ID `central_without_mirror`.
73
+ # In other words, in GitHub Action environment, `central` is mirrored by `Google Maven Central` first.
74
+ # If `Google Maven Central` doesn't provide the artifact due to its slowness, `central_without_mirror` will be used.
75
+ # Note that we aim to achieve the above while keeping the existing behavior of non-`GitHub Action` environment unchanged.
69
76
echo "<settings><mirrors><mirror><id>google-maven-central</id><name>GCS Maven Central mirror</name><url>https://maven-central.storage-download.googleapis.com/repos/central/data/</url><mirrorOf>central</mirrorOf></mirror></mirrors></settings>" > ~/.m2/settings.xml
70
77
./build/mvn $MAVEN_CLI_OPTS -DskipTests -Pyarn -Pmesos -Pkubernetes -Phive -P${{ matrix.hive }} -Phive-thriftserver -P${{ matrix.hadoop }} -Phadoop-cloud -Djava.version=${{ matrix.java }} install
71
78
rm -rf ~/.m2/repository/org/apache/spark
Original file line number Diff line number Diff line change 257
257
<enabled >false</enabled >
258
258
</snapshots >
259
259
</repository >
260
+ <repository >
261
+ <id >central_without_mirror</id >
262
+ <!--
263
+ This is used as a fallback when a mirror to `central` fail.
264
+ For example, when we use Google Maven Central in GitHub Action as a mirror of `central`,
265
+ this will be used when Google Maven Central is out of sync due to its late sync cycle.
266
+ -->
267
+ <name >Maven Repository</name >
268
+ <url >https://repo.maven.apache.org/maven2</url >
269
+ <releases >
270
+ <enabled >true</enabled >
271
+ </releases >
272
+ <snapshots >
273
+ <enabled >false</enabled >
274
+ </snapshots >
275
+ </repository >
260
276
</repositories >
261
277
<pluginRepositories >
262
278
<pluginRepository >
You can’t perform that action at this time.
0 commit comments