blob: b7b33202f77f8a4520f816145d16e8f5ae7a9238 [file] [log] [blame]
pipeline {
agent {
kubernetes {
label 'hawk-pod'
yaml """
apiVersion: v1
kind: Pod
spec:
containers:
- name: maven
image: maven:3.6.1-jdk-8
command:
- cat
tty: true
resources:
limits:
memory: "7Gi"
cpu: "1"
requests:
memory: "4Gi"
cpu: "1"
env:
- name: "MAVEN_OPTS"
value: "-Duser.home=/home/jenkins"
volumeMounts:
- name: jenkins-home
mountPath: /home/jenkins
readOnly: false
- name: settings-xml
mountPath: /home/jenkins/.m2/settings.xml
subPath: settings.xml
readOnly: true
- name: toolchains-xml
mountPath: /home/jenkins/.m2/toolchains.xml
subPath: toolchains.xml
readOnly: true
- name: volume-known-hosts
mountPath: /home/jenkins/.ssh
volumes:
- name: jenkins-home
emptyDir:
medium: ""
- name: settings-xml
secret:
secretName: m2-secret-dir
items:
- key: settings.xml
path: settings.xml
- name: toolchains-xml
configMap:
name: m2-dir
items:
- key: toolchains.xml
path: toolchains.xml
- name: volume-known-hosts
configMap:
name: known-hosts
"""
}
}
triggers {
pollSCM('H/5 * * * *')
}
stages {
stage('Tycho') {
steps {
container('maven') {
// temporarily skip tests while we get the downloads part right
sh 'mvn -B clean install -DfailIfNoTests=false -DskipTests'
}
}
post { always { junit '**/TEST-*.xml' } }
}
stage('Plain Maven') {
steps {
container('maven') {
sh 'mvn -B --quiet -f pom-plain.xml install'
}
}
}
stage('Downloads') {
when { branch 'master' }
steps {
lock('download-area') {
sshagent (['projects-storage.eclipse.org-bot-ssh']) {
sh '''
VERSION=$(grep Bundle-Version "$WORKSPACE"/plugins/org.hawk.core/META-INF/MANIFEST.MF | \
cut --delim=: -f2 | \
sed -re 's/ *([0-9]+)[.]([0-9]+)[.].*/\1.\2.0/')
DIST_DIR="/home/data/httpd/download.eclipse.org/hawk/$VERSION"
SSH_USER=genie.hawk@projects-storage.eclipse.org
ssh "$SSH_USER" rm -rf "$DIST_DIR"
scp -r "$WORKSPACE/releng/org.hawk.updatesite/target/repository" "$SSH_USER":"${DIST_DIR}/updates"
scp "$WORKSPACE"/releng/org.hawk.service.server.product/target/products/hawk-server-nogpl_*.zip "$SSH_USER":"${DIST_DIR}"
scp "$WORKSPACE"/releng/org.hawk.service.cli.product/target/products/hawk-cli_*.zip "$SSH_USER":"${DIST_DIR}"
tar czf "hawk-thrift-js-$VERSION.tar.gz" "$WORKSPACE"/plugins-server/org.hawk.service.api/src-gen-js
tar czf "hawk-thrift-cpp-$VERSION.tar.gz" "$WORKSPACE"/plugins-server/org.hawk.service.api/src-gen-cpp
scp "hawk-thrift-js-$VERSION.tar.gz" "$SSH_USER":"$DIST_DIR"
scp "hawk-thrift-cpp-$VERSION.tar.gz" "$SSH_USER":"$DIST_DIR"
'''
}
}
}
}
}
post {
changed {
emailext(body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}\n More info at: ${env.BUILD_URL}",
recipientProviders: [[
$class: "DevelopersRecipientProvider",
$class: "RequesterRecipientProvider"
]],
subject: "Jenkins Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}")
}
}
}