blob: 06e8a711b129ae2a3167c63ee30e48bcc2de8dcd [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
11
Karl Zhangfec84102020-06-24 09:56:36 +080012def nodeLabel = "docker-amd64-bionic"
Dean Birchd0f9f8c2020-03-26 11:10:33 +000013if (env.COMPILER == "ARMCLANG") {
Karl Zhangfec84102020-06-24 09:56:36 +080014 nodeLabel = "docker-amd64-bionic-armclang"
Dean Birchd0f9f8c2020-03-26 11:10:33 +000015}
16
17node(nodeLabel) {
Dean Birch62c4f082020-01-17 16:13:26 +000018 stage("Init") {
19 cleanWs()
20 dir("trusted-firmware-m") {
21 checkout(
22 poll: false,
23 scm: [
24 $class: 'GitSCM',
25 branches: [[name: '$GERRIT_BRANCH']],
26 extensions: [[$class: 'BuildChooserSetting', buildChooser: [$class: 'GerritTriggerBuildChooser']]],
27 userRemoteConfigs: [[
28 credentialsId: 'GIT_SSH_KEY',
29 refspec: '$GERRIT_REFSPEC', url: '$CODE_REPO'
30 ]]
31 ])
32 }
33 dir("tf-m-ci-scripts") {
Matthew Hartfb6fd362020-03-04 21:03:59 +000034 git url: '$CI_SCRIPTS_REPO', branch: '$CI_SCRIPTS_BRANCH', credentialsId: 'GIT_SSH_KEY'
Dean Birch62c4f082020-01-17 16:13:26 +000035 }
Karl Zhang02d30352020-08-20 13:48:52 +080036 dir("mbedtls") {
37 checkout(
38 changelog: false,
39 poll: false,
40 scm: [
41 $class: 'GitSCM',
42 branches: [[name: 'FETCH_HEAD']],
43 userRemoteConfigs: [[
44 refspec: 'refs/tags/$MBEDTLS_VERSION',
45 url: params.MBEDTLS_URL
46 ]]
47 ]
48 )
49 }
Tamas Ban260faf42020-06-08 16:14:55 +010050 dir("mcuboot") {
51 checkout(
52 changelog: false,
53 poll: false,
54 scm: [
55 $class: 'GitSCM',
56 branches: [[name: 'FETCH_HEAD']],
57 userRemoteConfigs: [[
Tamas Ban1f1213e2020-09-25 12:38:31 +010058 refspec: '$MCUBOOT_REFSPEC',
Tamas Ban260faf42020-06-08 16:14:55 +010059 url: params.MCUBOOT_URL
60 ]]
61 ]
62 )
63 }
Kevin Pengb0bc0d12020-06-17 14:17:03 +080064 dir("tf-m-tests") {
65 checkout(
66 changelog: false,
67 poll: false,
68 scm: [
69 $class: 'GitSCM',
70 branches: [[name: 'FETCH_HEAD']],
71 userRemoteConfigs: [[
72 refspec: '$TFM_TESTS_REFSPEC',
73 url: params.TFM_TESTS_URL
74 ]]
75 ]
76 )
77 }
Dean Birchd0f9f8c2020-03-26 11:10:33 +000078 if (env.PSA_API_SUITE != "") {
79 dir("psa-arch-tests") {
80 checkout(
81 changelog: false,
82 poll: false,
83 scm: [
84 $class: 'GitSCM',
85 branches: [[name: 'FETCH_HEAD']],
86 userRemoteConfigs: [[
Karl Zhanga6820f22020-06-17 11:34:06 +080087 refspec: '$PSA_ARCH_TESTS_VERSION',
Matthew Hartfb6fd362020-03-04 21:03:59 +000088 url: params.PSA_ARCH_TESTS_URL
Dean Birchd0f9f8c2020-03-26 11:10:33 +000089 ]]
90 ]
91 )
92 }
93 }
Dean Birch62c4f082020-01-17 16:13:26 +000094 }
Dean Birchd0f9f8c2020-03-26 11:10:33 +000095 try {
96 verify = 1
97 stage("Build") {
Riku Voipiod78059f2020-09-10 13:35:13 +030098 sh "tf-m-ci-scripts/run-build.sh"
Dean Birchd0f9f8c2020-03-26 11:10:33 +000099 }
100 stage("Post") {
Riku Voipiod78059f2020-09-10 13:35:13 +0300101 archiveArtifacts 'trusted-firmware-m/build/install/**'
Dean Birchd0f9f8c2020-03-26 11:10:33 +0000102 }
103 } catch (Exception e) {
104 manager.buildFailure()
105 verify = -1
106 } finally {
107 g = new Gerrit()
108 g.verifyStatusInWorkspace(verify, env.CONFIG_NAME, 'build')
Matthew Hartfb6fd362020-03-04 21:03:59 +0000109 def buildStatus = (verify == 1) ? 'Successful' : 'Failed'
110 //g.commentInWorkspace("Build configuration ${env.CONFIG_NAME} ${buildStatus}: ${env.RUN_DISPLAY_URL}")
Dean Birch62c4f082020-01-17 16:13:26 +0000111 cleanWs()
112 }
113}