~aleteoryx/muditaos

ref: db6855e09033b647f464308a4ca728dd7b12a5bc muditaos/Jenkinsfile -rw-r--r-- 2.5 KiB
db6855e0 — Radoslaw Wicik [EGD-6537] Create Jenkins CI 4 years 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
pipeline {
  agent {
    node {
      label 'jenkins-slave'
    }

  }
  environment {
    JOBS=15
  }
  stages {

    stage('Initial checks') {
        environment {
            GITHUB_BASE_REF="${pullRequest.base}"
            GITHUB_HEAD_REF="${pullRequest.headRef}"
        }
        steps {
            echo "Commit Message check"
            sh '''#!/bin/bash -e
pushd ${WORKSPACE}
./tools/check_commit_messages.py
popd'''
            echo "Copyright notice check"
            sh '''#!/bin/bash -e
pushd ${WORKSPACE}
./config/license_header_check.sh --ci --check-only
popd'''
            echo "Style checking"
            sh '''#!/bin/bash -e
pushd ${WORKSPACE}
./config/style_check_hook.sh --last
popd'''
        }
    }
    stage('Build') {
        parallel {
        stage('Build RT1051') {
            agent {
                node {
                    label 'jenkins-slave'
                }         
            }
            steps {
                sh '''#!/bin/bash -e
PATH="/usr/local/cmake-3.19.5-Linux-x86_64/bin:/usr/local/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH"
export JOBS=${JOBS:-6}
echo "JOBS=${JOBS}"
echo "\'workspace dir:${WORKSPACE}\'"

pushd "${WORKSPACE}"
echo "./configure.sh rt1051 Release -G Ninja"

./configure.sh rt1051 Release -G Ninja

pushd build-rt1051-Release
ninja -j ${JOBS}
popd
popd'''
            }
        }

        stage('Build Linux') {
            agent {
                node {
                    label 'jenkins-slave'
                }         
            }

            steps {
                echo "Build"
                sh '''#!/bin/bash -e
PATH="/usr/local/cmake-3.19.5-Linux-x86_64/bin:/usr/local/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH"
export JOBS=${JOBS:-6}
echo "JOBS=${JOBS}"
echo "\'workspace dir:${WORKSPACE}\'"

pushd "${WORKSPACE}"
echo "./configure.sh linux Debug -G Ninja"

./configure.sh linux Debug -G Ninja

pushd build-linux-Debug
ninja -j ${JOBS}
ninja -j ${JOBS} unittests
popd
popd'''
                echo "Check for Statics"
                sh '''#!/bin/bash -e
pushd "${WORKSPACE}"
./tools/find_global_data.py build-linux-Debug/PurePhone.elf
popd'''
                echo "Run Unit Tests"
                sh '''#!/bin/bash -e
PATH="/usr/local/cmake-3.19.5-Linux-x86_64/bin:/usr/local/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH"
export JOBS=${JOBS:-6}
echo "JOBS=${JOBS}"
echo "\'workspace dir:${WORKSPACE}\'"

pushd "${WORKSPACE}"
./tools/run_unittests.sh enabled_unittests
./tools/check_unittests.sh
popd'''
            }
        }
        }
    }

  }
}