forked from eclipse-jdt/eclipse.jdt.ui
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJenkinsfile
More file actions
47 lines (47 loc) · 2 KB
/
Jenkinsfile
File metadata and controls
47 lines (47 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pipeline {
options {
timeout(time: 60, unit: 'MINUTES')
buildDiscarder(logRotator(numToKeepStr:'5'))
disableConcurrentBuilds(abortPrevious: true)
timestamps()
}
agent {
label "ubuntu-latest"
}
tools {
maven 'apache-maven-latest'
jdk 'temurin-jdk21-latest'
}
stages {
stage('Build') {
steps {
xvnc(useXauthority: true) {
sh """
mvn -U -e -DskipTests=false -Dmaven.repo.local=$WORKSPACE/.m2/repository \
clean verify --batch-mode --fail-at-end \
-Pbree-libs -Papi-check -Pjavadoc -Pbuild-individual-bundles \
-Dmaven.test.failure.ignore=true \
-Dcompare-version-with-baselines.skip=false
"""
}
}
post {
always {
archiveArtifacts artifacts: '*.log,*/target/work/data/.metadata/*.log,*/tests/target/work/data/.metadata/*.log,apiAnalyzer-workspace/.metadata/*.log', allowEmptyArchive: true
// The following lines use the newest build on master that did not fail a reference
// To not fail master build on failed test maven needs to be started with "-Dmaven.test.failure.ignore=true" it will then only marked unstable.
// To not fail the build also "unstable: true" is used to only mark the build unstable instead of failing when qualityGates are missed
// To accept unstable builds (test errors or new warnings introduced by third party changes) as reference using "ignoreQualityGate:true"
// To only show warnings related to the PR on a PR using "publishAllIssues:false"
discoverGitReferenceBuild referenceJob: 'eclipse.jdt.ui-github/master'
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/*.xml'
recordIssues publishAllIssues: false, ignoreQualityGate: true, enabledForFailure: true, tools: [
eclipse(name: 'Compiler', pattern: '**/target/compilelogs/*.xml'),
issues(name: 'API Tools', id: 'apitools', pattern: '**/target/apianalysis/*.xml'),
], qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]]
recordIssues tools: [javaDoc(), mavenConsole()]
}
}
}
}
}