Resolve maven dependencies before building

This tries to solve build timeouts while downloading dependencies.
Also the job timeout for PRs is 30 minutes - if it takes longer,
something is wrong.
This commit is contained in:
Andreas Dangel
2020-11-13 11:37:05 +01:00
parent 1790684fff
commit 70f2c56888
4 changed files with 31 additions and 4 deletions

View File

@ -3,13 +3,14 @@
source $(dirname $0)/inc/logger.inc
source $(dirname $0)/inc/setup-secrets.inc
source $(dirname $0)/inc/regression-tester.inc
source $(dirname $0)/inc/maven-dependencies.inc
source ${HOME}/java.env
set -e
#set -x
export MAVEN_OPTS="-Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3"
#export MAVEN_OPTS="-Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false"
maven_dependencies_resolve
./mvnw -e -V clean verify
# Danger is executed only on the linux runner

View File

@ -0,0 +1,25 @@
#
# On azure, outgoing idle connection are dropped after 4 minutes.
# Usually, you can configure wagon with ttl. But these settings are
# ignored, as soon as dokka-maven-plugin is loaded.
# dokka-maven-plugin tries to load additional dependencies at runtime
# and injects a different http client, which is not configured correctly
# and thus maven fails if it tries to download later in the build process
# further dependencies.
#
# The workaround applied here is: first resolve all dependencies,
# then explicitly get dokka-maven-plugin and then resolve all plugins
# execpt for dokka-maven-plugin, as it does not play well with dependency-plugin.
#
function maven_dependencies_resolve() {
dokka_version=$(./mvnw -q -Dexec.executable="echo" -Dexec.args='${dokka.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:3.0.0:exec)
./mvnw dependency:resolve
./mvnw dependency:get -DgroupId=org.jetbrains.dokka \
-DartifactId=dokka-maven-plugin \
-Dversion=${dokka_version} \
-Dpackaging=jar \
-DremoteRepositories=jcenter::default::https://jcenter.bintray.com/
./mvnw dependency:resolve-plugins -DexcludeGroupIds=org.jetbrains.dokka
}

View File

@ -7,6 +7,7 @@ jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: false
timeout-minutes: 30
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
matrix:
@ -34,6 +35,7 @@ jobs:
run: .ci/build-pr.sh
shell: bash
env:
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=180 -Dmaven.wagon.http.retryHandler.count=3
PMD_CI_SECRET_PASSPHRASE: ${{ secrets.PMD_CI_SECRET_PASSPHRASE }}
PMD_CI_BRANCH: ${{ github.ref }}
PMD_CI_PULL_REQUEST_NUMBER: ${{ github.event.number }}

View File

@ -1,12 +1,11 @@
name: troubleshooting
on: pull_request
on: workflow_dispatch
jobs:
build:
runs-on: ${{ matrix.os }}
continue-on-error: false
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
matrix:
#os: [ ubuntu-latest, windows-latest, macos-latest ]