~aleteoryx/muditaos

ref: master muditaos/Jenkinsfile -rw-r--r-- 3.4 KiB
2cd0e472 — Lefucjusz [BH-000] Update Harmony 2.10.0 changelog 2 months ago
                                                                                
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
@Library('PureCI') _

pipeline {
    agent {
        node {
        label 'jenkins-slave-ccache-ram'
        customWorkspace "/home/jenkins/workspace/MuditaOS"
        }
    }
    options{
        ansiColor('xterm')
        parallelsAlwaysFailFast()
    }
    environment {
        JOBS=30
        REPO_WORKSPACE="/home/jenkins/workspace/MuditaOS"
    }

    stages {
        stage('Check for previous running builds') {
            steps {
                script {
                    common.setBuildStatus(env.GIT_COMMIT,"This commit is being built", "PENDING")
                    common.cancelPreviousBuilds()
                }
            }
        }

        stage('Initial checks') {
            when {
                changeRequest()
            }
            environment {
                GITHUB_BASE_REF="${pullRequest.base}"
                GITHUB_HEAD_REF="${pullRequest.headRef}"
            }
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.performChecks("false");
                }
            }
        }
        stage('Build RT1051 - PurePhone') {
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.build("rt1051","PurePhone","Release")
                }
            }
        }

        stage('Build RT1051 - BellHybrid') {
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.build("rt1051","BellHybrid","Release")
                }
            }
        }

        stage('Build RT1051 - BellHybridPro') {
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.build("rt1051","BellHybrid","Release","-DENABLE_VERSION_PRO=1")
                }
            }
        }

        stage('Build Linux - PurePhone') {
            when {
                expression {
                 return !(env.CHANGE_TARGET ==~ /release\/[0-9]+\.[0-9]+\.[0-9]+-bell/)
                 }
            }
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.build("linux","PurePhone","Debug")
                }
            }
        }

        stage('Build Linux - BellHybrid') {
            when {
                expression {
                 return !(env.CHANGE_TARGET ==~ /release\/[0-9]+\.[0-9]+\.[0-9]+-pure/)
                 }
            }
            steps {
                script{
                    common.checkIfBranchIsRebased("false")
                    buildSteps.build("linux","BellHybrid","Debug")
                }
            }
        }

        stage('master-jobs') {
            when {
                branch 'master'
            }
            steps {
                echo "run some tests"
                sh '''#!/bin/bash
                    echo "HAL 9000 sleeps here."
                '''
            }
        }
    }
    post {
        success {
            script{
                common.setBuildStatus(env.GIT_COMMIT,"Build succeeded", "SUCCESS");
            }
        }
        failure {
            script{
                common.setBuildStatus(env.GIT_COMMIT,"Build failed: $env.currentStep", "FAILURE");
            }
        }
        cleanup {
            script{
                common.cleanup("false")
            }
        }
    }
}