add sun4v cpu modules package / smartcard v240
[oi-userland.git] / Jenkinsfile
blobc5ae3b9afd2c9e31cf6e38a3437ad834eeb6bc91
1 // OpenIndiana Userland Jenkinsfile, (c) 2021 Olaf Bohlen <olbohlen@eenfach.de>
2 // OpenIndiana Userland Jenkinsfile, (c) 2021 Till Wegmueller <toasterson@gmail.com>
4 // ensure the jenkins user can modify SMF services, e.g. run:
5 // usermod -A solaris.smf.* -P 'Service Operator' jenkins
7 // To add more things have a look at the documentation under
8 // https://github.com/jenkinsci/pipeline-github-plugin
10 // TODO: Do not build draft PR's
11 // TODO: Figure out what to do when no Makefile was changed
12 // TODO: have two build Jobs (one for oi/hipster and another for this PR)
13 // TODO: matrix build against multiple configuration gcc-7, gcc-10, gcc-11 and encumbered vs. without encumbered
15 pipeline {
16     options {
17         // set a timeout of 600 minutes for this pipeline
18         timeout(time: 600, unit: 'MINUTES')
19     }
20     agent {
21       node {
22         label 'buildserver'
23       }
24     }
25     stages {
26         stage('setup stage') {
27             steps {
28                         sh './tools/jenkinshelper.ksh -s setup'
29             }
30         }
32         stage('build changed components') {
33             steps {
34                 sh './tools/jenkinshelper.ksh -s build_changed'
35             }
36         }
38             stage('create initial pkgdepotd.conf if not exists') {
39             steps {
40                 sh './tools/jenkinshelper.ksh -s prepare_pkgdepotd'
41                   }
42             }
44         stage('cleanup') {
45             when {
46                 changeRequest()
47             }
48             steps {
49                 script {
50                     if (pullRequest.state == "closed" || pullRequest.merged) {
51                         sh './tools/jenkinshelper.ksh -s cleanup_pr'
52                     }
53                 }
54             }
55         }
56     }