blob: 052d6d6626000cf06feb574871d432851e0a6daa [file] [log] [blame]
pipeline {
agent {
kubernetes {
label 'migration'
}
}
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '2', daysToKeepStr: '14', numToKeepStr: ''))
}
tools {
maven 'apache-maven-latest'
jdk 'openjdk-jdk11-latest'
}
triggers {
pollSCM('H/5 * * * *')
}
stages {
stage('Main') {
stages {
stage('Build') {
steps {
sh 'mvn -B -T 1C clean verify -P eclipse-sign'
}
}
stage('Plain Maven build') {
steps {
sh 'mvn -B -T 1C -f pom-plain.xml compile'
}
}
stage('Update site') {
when {
anyOf {
branch 'master'
branch 'agarciad/ossrh'
}
}
steps {
sh 'mvn -B package -DskipTests'
lock('download-area') {
sshagent (['projects-storage.eclipse.org-bot-ssh']) {
sh '''
INTERIM=/home/data/httpd/download.eclipse.org/emfatic/interim
SITEDIR="$WORKSPACE/releng/org.eclipse.emf.emfatic.updatesite/target"
if [ -d "$SITEDIR" ]; then
ssh genie.emfatic@projects-storage.eclipse.org rm -rf $INTERIM
scp -r "$SITEDIR/repository" genie.emfatic@projects-storage.eclipse.org:$INTERIM
scp "$SITEDIR"/*.zip genie.emfatic@projects-storage.eclipse.org:$INTERIM/emfatic-interim-site.zip
fi
'''
}
}
}
}
stage('Deploy to OSSRH') {
when {
anyOf {
branch 'master'
branch 'agarciad/ossrh'
}
}
environment {
KEYRING = credentials('secret-subkeys.asc')
}
steps {
sh '''
gpg --batch --import "${KEYRING}"
for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u);
do
echo -e "5\ny\n" | gpg --batch --command-fd 0 --expert --edit-key $fpr trust;
done
'''
lock('ossrh') {
sh 'mvn -B -f pom-plain.xml -P ossrh,eclipse-sign deploy'
}
}
}
}
}
}
}