summaryrefslogtreecommitdiff
path: root/Jenkinsfile
blob: 3d942e46ca4103adacbf01397a926968a089b805 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

/*
 * Copyright 2021 Joyent, Inc.
 * Copyright 2022 MNX Cloud, Inc.
 */

@Library('jenkins-joylib@v1.0.8') _

pipeline {

    agent {
        label 'platform:true && image_ver:21.4.0 && pkgsrc_arch:x86_64 && ' +
            'dram:16gb && !virt:kvm && fs:pcfs && fs:ufs && jenkins_agent:3'
    }

    options {
        buildDiscarder(logRotator(numToKeepStr: '30'))
        timestamps()
        parallelsAlwaysFailFast()
    }

    stages {
        stage('trigger smartos-live') {
            when {
                anyOf {
                    branch 'master'
                    triggeredBy cause: 'UserIdCause'
                }
                // Prevent a user from starting a UserIdCause build on a
                // release branch, since that would trigger the smartos-live
                // 'master' branch build below, which is not what we want.
                not {
                    branch pattern: 'release-\\d+', comparator: 'REGEXP'
                }
            }
            steps {
                build(job:'TritonDataCenter/smartos-live/master',
                    wait: false,
                    parameters: [
                        text(name: 'CONFIGURE_PROJECTS',
                            value:
                            "illumos-extra: master: origin\n" +
                            'illumos: $BRANCH_NAME: origin\n' +
                            'local/kbmd: master: origin\n' +
                            'local/kvm-cmd: master: origin\n' +
                            'local/kvm: master: origin\n' +
                            'local/mdata-client: master: origin\n' +
                            'local/ur-agent: master: origin')
                    ])
            }
        }
    }
    post {
        always {
            joySlackNotifications(channel: 'jenkins')
        }
    }
}