// OpenIndiana Userland Jenkinsfile, (c) 2021 Olaf Bohlen // OpenIndiana Userland Jenkinsfile, (c) 2021 Till Wegmueller // ensure the jenkins user can modify SMF services, e.g. run: // usermod -A solaris.smf.* -P 'Service Operator' jenkins // To add more things have a look at the documentation under // https://github.com/jenkinsci/pipeline-github-plugin // TODO: Do not build draft PR's // TODO: Figure out what to do when no Makefile was changed // TODO: have two build Jobs (one for oi/hipster and another for this PR) // TODO: matrix build against multiple configuration gcc-7, gcc-10, gcc-11 and encumbered vs. without encumbered pipeline { options { // set a timeout of 600 minutes for this pipeline timeout(time: 600, unit: 'MINUTES') } agent { node { label 'buildserver' } } stages { stage('setup stage') { steps { sh './tools/jenkinshelper.ksh -s setup' } } stage('build changed components') { steps { sh './tools/jenkinshelper.ksh -s build_changed' } } stage('create initial pkgdepotd.conf if not exists') { steps { sh './tools/jenkinshelper.ksh -s prepare_pkgdepotd' } } stage('cleanup') { when { changeRequest() } steps { script { if (pullRequest.state == "closed" || pullRequest.merged) { sh './tools/jenkinshelper.ksh -s cleanup_pr' } } } } } }