blob: 34e23b1877fe5d1e7797511a327dfe33971c56f9 [file] [log] [blame]
Dean Birch62c4f082020-01-17 16:13:26 +00001#!/usr/bin/env groovy
2//-------------------------------------------------------------------------------
3// Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
4//
5// SPDX-License-Identifier: BSD-3-Clause
6//
7//-------------------------------------------------------------------------------
8
Dean Birchd0f9f8c2020-03-26 11:10:33 +00009@Library('trustedfirmware') _
10import org.trustedfirmware.Gerrit
Dean Birch62c4f082020-01-17 16:13:26 +000011
12node("docker-amd64-xenial") {
13 stage("Init") {
14 cleanWs()
15 dir("trusted-firmware-m") {
16 checkout(
17 poll: false,
18 scm: [
19 $class: 'GitSCM',
20 branches: [[name: '$GERRIT_BRANCH']],
21 extensions: [[$class: 'BuildChooserSetting', buildChooser: [$class: 'GerritTriggerBuildChooser']]],
22 userRemoteConfigs: [[
23 credentialsId: 'GIT_SSH_KEY',
24 refspec: '$GERRIT_REFSPEC', url: '$CODE_REPO'
25 ]]
26 ])
27 }
28 dir("tf-m-ci-scripts") {
Matthew Hartfb6fd362020-03-04 21:03:59 +000029 git url: '$CI_SCRIPTS_REPO', branch: '$CI_SCRIPTS_BRANCH', credentialsId: 'GIT_SSH_KEY'
Dean Birch62c4f082020-01-17 16:13:26 +000030 }
31 dir("mbed-crypto") {
32 checkout(
33 changelog: false,
34 poll: false,
35 scm: [
36 $class: 'GitSCM',
Dean Birch7249bfa2020-05-21 16:22:39 +010037 branches: [[name: 'FETCH_HEAD']],
Dean Birch62c4f082020-01-17 16:13:26 +000038 userRemoteConfigs: [[
39 refspec: 'refs/tags/$MBEDCRYPTO_VERSION',
Dean Bircha6ede7e2020-03-13 14:00:33 +000040 url: params.MBEDCRYPTO_URL
Dean Birch62c4f082020-01-17 16:13:26 +000041 ]]
42 ]
43 )
44 }
Tamas Banf123c6e2020-06-19 11:44:03 +010045 dir("mcuboot") {
46 checkout(
47 changelog: false,
48 poll: false,
49 scm: [
50 $class: 'GitSCM',
51 branches: [[name: 'FETCH_HEAD']],
52 userRemoteConfigs: [[
53 refspec: 'refs/tags/$MCUBOOT_VERSION',
54 url: params.MCUBOOT_URL
55 ]]
56 ]
57 )
58 }
Kevin Peng61a94a32020-06-22 10:58:59 +080059 dir("tf-m-tests") {
60 checkout(
61 changelog: false,
62 poll: false,
63 scm: [
64 $class: 'GitSCM',
65 branches: [[name: 'FETCH_HEAD']],
66 userRemoteConfigs: [[
67 refspec: '$TFM_TESTS_REFSPEC',
68 url: params.TFM_TESTS_URL
69 ]]
70 ]
71 )
72 }
Dean Birch62c4f082020-01-17 16:13:26 +000073 sh """
Dean Birch7249bfa2020-05-21 16:22:39 +010074 # Host https://github.com/Arm-software/CMSIS_5/releases/download/5.5.0/ARM.CMSIS.5.5.0.pack
75 # under \$JENKINS_HOME/userContent
76 set +e
77 wget -O cmsis.pack -q \${JENKINS_URL}/userContent/ARM.CMSIS.${CMSIS_VERSION}.pack
78 if [ "\$?" != "0" ] ; then
79 set -e
80 wget -O cmsis.pack -q https://github.com/Arm-software/CMSIS_5/releases/download/${CMSIS_VERSION}/ARM.CMSIS.${CMSIS_VERSION}.pack
81 fi
82 set -e
83 unzip -o -d CMSIS_5 cmsis.pack
84 """
Dean Birch62c4f082020-01-17 16:13:26 +000085 }
86 stage("Check") {
87 def verify = 1
88 try {
89 sh """
90cd trusted-firmware-m
91export GIT_REF_ARG=""
92if [ ! -z "\$GERRIT_PATCHSET_REVISION" ] ; then
93 export GIT_REF_ARG="HEAD"
94fi
95../tf-m-ci-scripts/run-cppcheck.sh -r \$GIT_REF_ARG
96"""
97 } catch (Exception e) {
98 manager.buildFailure()
99 verify = -1
100 } finally {
Dean Birchd0f9f8c2020-03-26 11:10:33 +0000101 g = new Gerrit()
102 g.verifyStatusInWorkspace(verify, 'cppcheck', 'static')
Matthew Hartfb6fd362020-03-04 21:03:59 +0000103 def buildStatus = (verify == 1) ? 'Successful' : 'Failed'
104 //g.commentInWorkspace("Build cppcheck ${buildStatus}: ${env.RUN_DISPLAY_URL}")
Dean Birch62c4f082020-01-17 16:13:26 +0000105 cleanWs()
106 }
107 }
108}