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 6666 export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1g -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN"
6767 export MAVEN_CLI_OPTS="--no-transfer-progress"
6868 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.
6976 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
7077 ./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
7178 rm -rf ~/.m2/repository/org/apache/spark
Original file line number Diff line number Diff line change 257257 <enabled >false</enabled >
258258 </snapshots >
259259 </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 >
260276 </repositories >
261277 <pluginRepositories >
262278 <pluginRepository >
You can’t perform that action at this time.
0 commit comments