build_godot/Jenkinsfile
2023-06-18 13:40:44 +02:00

63 lines
1.6 KiB
Groovy

pipeline {
agent {
dockerfile {
filename 'Dockerfile'
dir '.'
}
}
parameters {
booleanParam(name: 'CLEAN', defaultValue: false, description: 'Clean build')
string(name: 'REMOTE', defaultValue: 'https://github.com/godotengine/godot.git', description: 'Repository to build from')
string(name: 'BRANCH', defaultValue: '*/master')
}
stages {
stage('Checkout') {
steps {
checkout scmGit(
branches: [[name: BRANCH]],
extensions: [],
userRemoteConfigs: [[url: REMOTE]]
)
}
}
stage('Clean') {
when {
expression { params.CLEAN }
}
steps {
sh 'scons platform=linuxbsd -c'
}
}
stage('Build Linux GCC') {
steps {
sh 'scons -j8 platform=linuxbsd use_lto=yes'
sh 'scons -j8 platform=linuxbsd target=template_release use_lto=yes'
sh 'scons -j8 platform=linuxbsd target=template_debug use_lto=yes'
}
}
stage('Archive') {
steps {
archiveArtifacts artifacts: 'bin/*',
fingerprint: true,
onlyIfSuccessful: true
}
}
}
post {
failure {
mail from: 'Jenkins <noreply@mewin.de>',
to: 'jenkins@mewin.de',
cc: '',
bcc: '',
subject: "Jenkins Build Error (${env.JOB_NAME})",
body: "<b>Build Failure</b><br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br> Build URL: ${env.BUILD_URL}",
charset: 'UTF-8',
mimeType: 'text/html',
replyTo: '';
}
}
}