blob: 443ea2730383527a59b85869ec63b12e99e0ecc5 [file] [log] [blame]
Dean Birch62c4f082020-01-17 16:13:26 +00001#!/usr/bin/env groovy
2//-------------------------------------------------------------------------------
Paul Sokolovskye1ad4772024-03-07 00:08:27 +07003// Copyright (c) 2020-2024, Arm Limited and Contributors. All rights reserved.
Dean Birch62c4f082020-01-17 16:13:26 +00004//
5// SPDX-License-Identifier: BSD-3-Clause
6//
7//-------------------------------------------------------------------------------
8
Paul Sokolovsky9517ed42024-07-04 15:52:57 +03009@Library('trustedfirmware') _
10
Dean Birch62c4f082020-01-17 16:13:26 +000011
12def trigger(job_name) {
13 return {
14 def params = []
15 params += string(name: 'GERRIT_HOST', value: env.GERRIT_HOST ?: '')
16 params += string(name: 'GERRIT_BRANCH', value: env.GERRIT_BRANCH ?: '')
17 params += string(name: 'GERRIT_REFSPEC', value: env.GERRIT_REFSPEC ?: '')
18 params += string(name: 'GERRIT_CHANGE_NUMBER', value: env.GERRIT_CHANGE_NUMBER ?: '')
19 params += string(name: 'GERRIT_PATCHSET_REVISION', value: env.GERRIT_PATCHSET_REVISION ?: '')
Karl Zhang02d30352020-08-20 13:48:52 +080020 params += string(name: 'MBEDTLS_VERSION', value: env.MBEDTLS_VERSION)
Dean Birch62c4f082020-01-17 16:13:26 +000021 params += string(name: 'CODE_REPO', value: env.CODE_REPO)
Paul Sokolovsky3a3c3102024-07-04 17:09:41 +030022 params += string(name: 'CI_SCRIPTS_REPO', value: env.CI_SCRIPTS_REPO)
Leonardo Sandoval7090b2c2021-09-17 13:20:44 -050023 params += string(name: 'CI_SCRIPTS_BRANCH', value: env.CI_SCRIPTS_BRANCH)
24 params += string(name: 'MCUBOOT_REFSPEC', value: env.MCUBOOT_REFSPEC)
25 params += string(name: 'MCUBOOT_URL', value: env.MCUBOOT_URL)
26 params += string(name: 'MBEDTLS_VERSION', value: env.MBEDTLS_VERSION)
Paul Sokolovskyc781f0c2023-05-25 17:08:39 +030027 params += string(name: 'MBEDTLS_URL', value: env.MBEDTLS_URL)
Leonardo Sandoval7090b2c2021-09-17 13:20:44 -050028 params += string(name: 'TFM_TESTS_REFSPEC', value: env.TFM_TESTS_REFSPEC)
29 params += string(name: 'TFM_TESTS_URL', value: env.TFM_TESTS_URL)
30 params += string(name: 'PSA_ARCH_TESTS_VERSION', value: env.PSA_ARCH_TESTS_VERSION)
31 params += string(name: 'PSA_ARCH_TESTS_URL', value: env.PSA_ARCH_TESTS_URL)
32 params += string(name: 'SHARE_FOLDER', value: env.SHARE_FOLDER)
Dean Birch62c4f082020-01-17 16:13:26 +000033 build(job: job_name, parameters: params)
34 }
35}
36
Matthew Hartfb6fd362020-03-04 21:03:59 +000037def status = 1
38
Xinyu Zhang4cdfd1b2021-05-21 15:10:49 +080039timestamps {
Paul Sokolovskye1ad4772024-03-07 00:08:27 +070040 node("docker-amd64-tf-m-jammy") {
Leonardo Sandoval7090b2c2021-09-17 13:20:44 -050041 stage("Init") {
42 cleanWs()
43 dir("tf-m-ci-scripts") {
Paul Sokolovsky9517ed42024-07-04 15:52:57 +030044 tfgit.checkout_ci_scripts()
Leonardo Sandoval7090b2c2021-09-17 13:20:44 -050045 // Clone TF-M repositories so share folder can be reused by downstream jobs
46 sh "./clone.sh"
47 }
48 }
49 }
Xinyu Zhang4cdfd1b2021-05-21 15:10:49 +080050 stage("Static Checks") {
51 def checks = [:]
52 checks["cppcheck"] = trigger("tf-m-cppcheck")
53 checks["checkpatch"] = trigger("tf-m-checkpatch")
54 checks["static-checks"] = trigger("tf-m-static-checks")
55 try {
56 parallel(checks)
57 } catch (Exception e) {
58 status = -1
59 echo "Failed static checks, continuing with build."
60 }
Matthew Hartfb6fd362020-03-04 21:03:59 +000061 }
Xinyu Zhang4cdfd1b2021-05-21 15:10:49 +080062 stage("Trigger Build") {
63 parallel(["build":trigger("tf-m-build-and-test")])
64 // If previously failed at static checks, mark this as a failure
65 if (status < 0 ) {
66 error("Failing due to failed static checks.")
67 }
Matthew Hartfb6fd362020-03-04 21:03:59 +000068 }
Dean Birch62c4f082020-01-17 16:13:26 +000069}