-
Notifications
You must be signed in to change notification settings - Fork 79
/
Jenkinsfile
60 lines (60 loc) · 2.01 KB
/
Jenkinsfile
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
48
49
50
51
52
53
54
55
56
57
58
59
60
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-jdk17-latest'
}
stages {
stage('Build') {
steps {
xvnc(useXauthority: true) {
sh """
mvn clean verify -Dmaven.repo.local=$WORKSPACE/.m2/repository \
--fail-at-end --update-snapshots --batch-mode --no-transfer-progress --show-version --errors \
-Pbree-libs -Papi-check -Pjavadoc -Ptck \
${env.BRANCH_NAME=='master' ? '-Peclipse-sign': ''} \
-Dcompare-version-with-baselines.skip=false \
-Dmaven.test.failure.ignore=true \
-Dtycho.debug.artifactcomparator \
-Dpde.docs.baselinemode=fail
"""
}
}
post {
always {
archiveArtifacts(allowEmptyArchive: true, artifacts: '*.log,\
*/target/work/data/.metadata/*.log,\
*/tests/target/work/data/.metadata/*.log,\
apiAnalyzer-workspace/.metadata/*.log,\
**/target/artifactcomparison/**,\
**/target/compilelogs/**,\
repository/target/repository/**')
junit '**/target/surefire-reports/*.xml'
discoverGitReferenceBuild referenceJob: 'eclipse.pde/master'
recordIssues publishAllIssues: true, tools: [eclipse(name: 'Compiler and API Tools', pattern: '**/target/compilelogs/*.xml'), mavenConsole(), javaDoc()], qualityGates: [[threshold: 1, type: 'NEW', unstable: true]]
}
}
}
stage('Deploy') {
when {
branch 'master'
}
steps {
sshagent ( ['projects-storage.eclipse.org-bot-ssh']) {
sh '''
ssh [email protected] "rm -rf /home/data/httpd/download.eclipse.org/pde/builds/master/*"
scp -r repository/target/repository/* [email protected]:/home/data/httpd/download.eclipse.org/pde/builds/master/
'''
}
}
}
}
}