pipeline { agent none environment { SNAPCRAFT_STORE_CREDENTIALS = credentials('snapcraft-store-credentials') } options { skipDefaultCheckout(true) } stages { stage('Build docker image') { agent { label 'docker-build' } steps { script { docker.withRegistry('https://git.dreamfall.space', '0e145583-73da-44fa-8117-b8d5352025df') { def customImage = docker.build('partybot:${env.BUILD_ID}') customImage.push() } } } } stage('Build snap packages') { when { expression { false == true } } parallel { stage('Build snap for ARM64') { agent { label "snap-arm64" } steps { mattermostSend "ARM64 Snap build started - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" cleanWs() checkout scm sh "snapcraft clean" sh "snapcraft" } post { success { mattermostSend color: "good", message: "ARM64 Snap build success - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" archiveArtifacts artifacts: '*.snap' sh "snapcraft upload --release=edge *.snap" } failure { mattermostSend color: "danger", message: "ARM64 Snap build failure - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" } } } stage('Build snap for AMD64') { agent { label "snap-amd64" } steps { mattermostSend "AMD64 Snap build Started - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" cleanWs() checkout scm sh "snapcraft clean" sh "snapcraft" } post { success { mattermostSend color: "good", message: "AMD64 Snap build success - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" archiveArtifacts artifacts: '*.snap' sh "snapcraft upload --release=edge *.snap" } failure { mattermostSend color: "danger", message: "AMD64 Snap build failure - ${env.JOB_NAME} ${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)" } } } } } } }