Dean Birch | 62c4f08 | 2020-01-17 16:13:26 +0000 | [diff] [blame] | 1 | #!/usr/bin/env groovy |
| 2 | //------------------------------------------------------------------------------- |
Xinyu Zhang | bbe2d76 | 2022-01-19 10:36:11 +0800 | [diff] [blame] | 3 | // Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved. |
Dean Birch | 62c4f08 | 2020-01-17 16:13:26 +0000 | [diff] [blame] | 4 | // |
| 5 | // SPDX-License-Identifier: BSD-3-Clause |
| 6 | // |
| 7 | //------------------------------------------------------------------------------- |
| 8 | |
Dean Birch | d0f9f8c | 2020-03-26 11:10:33 +0000 | [diff] [blame] | 9 | @Library('trustedfirmware') _ |
| 10 | import org.trustedfirmware.Gerrit |
| 11 | |
Benjamin Copeland | be53b03 | 2020-10-30 19:57:59 +0000 | [diff] [blame] | 12 | def nodeLabel = "docker-amd64-tf-m-bionic" |
Dean Birch | d0f9f8c | 2020-03-26 11:10:33 +0000 | [diff] [blame] | 13 | |
Xinyu Zhang | ab21b8d | 2021-04-30 14:15:09 +0800 | [diff] [blame] | 14 | @NonCPS |
| 15 | def getUpstreamJob() { |
| 16 | def cause = manager.build.getAction(hudson.model.CauseAction.class).getCauses() |
| 17 | return cause |
| 18 | } |
| 19 | |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 20 | timestamps { |
| 21 | node(nodeLabel) { |
| 22 | stage("Init") { |
| 23 | cleanWs() |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 24 | dir("tf-m-ci-scripts") { |
| 25 | checkout([$class: 'GitSCM', branches: [[name: '$CI_SCRIPTS_BRANCH']], userRemoteConfigs: [[credentialsId: 'GIT_SSH_KEY', url: '$CI_SCRIPTS_REPO']]]) |
Xinyu Zhang | 8472b85 | 2021-09-04 00:13:34 +0800 | [diff] [blame] | 26 | sh "git rev-parse --short HEAD" |
Leonardo Sandoval | 7090b2c | 2021-09-17 13:20:44 -0500 | [diff] [blame] | 27 | // Clone TF-M repositories so share folder can be reused by downstream jobs |
| 28 | sh "./clone.sh" |
Hugo L'Hostis | e55a275 | 2021-01-27 11:09:08 +0000 | [diff] [blame] | 29 | } |
Dean Birch | d0f9f8c | 2020-03-26 11:10:33 +0000 | [diff] [blame] | 30 | } |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 31 | try { |
| 32 | verify = 1 |
| 33 | stage("Build") { |
| 34 | sh "tf-m-ci-scripts/run-build.sh" |
| 35 | } |
| 36 | stage("Post") { |
| 37 | archiveArtifacts 'trusted-firmware-m/build/bin/**' |
| 38 | archiveArtifacts 'trusted-firmware-m/build/install/interface/**' |
| 39 | def upstreamProject = getUpstreamJob()[0].upstreamProject |
| 40 | if (upstreamProject == "tf-m-build-and-test") { |
| 41 | archiveArtifacts 'trusted-firmware-m/build/generated/**' |
| 42 | } |
Xinyu Zhang | 470b3c4 | 2022-09-19 14:41:45 +0800 | [diff] [blame] | 43 | if (env.SQUAD_CONFIGURATIONS == "enabled"){ |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 44 | //Creating a folder to store memory footprint artifacts and launching the memory footprint script. |
Xinyu Zhang | 9a29f03 | 2022-01-19 15:13:24 +0800 | [diff] [blame] | 45 | sh "mkdir tf-m-ci-scripts/Memory_footprint/" |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 46 | withCredentials([string(credentialsId: 'QA_REPORTS_TOKEN', variable: 'TOKEN')]) { |
Xinyu Zhang | 470b3c4 | 2022-09-19 14:41:45 +0800 | [diff] [blame] | 47 | output = sh(script: """python3 tf-m-ci-scripts/memory_footprint.py ${TOKEN}""", returnStdout: true).trim() |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 48 | } |
| 49 | if (fileExists('tf-m-ci-scripts/Memory_footprint/filesize.json')) { |
Xinyu Zhang | 470b3c4 | 2022-09-19 14:41:45 +0800 | [diff] [blame] | 50 | println("--- output from memory_footprint.py ---") |
| 51 | println(output) |
| 52 | println("--- end of output from lava_wait_jobs.py ---") |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 53 | archiveArtifacts 'tf-m-ci-scripts/Memory_footprint/filesize.json' |
| 54 | } |
| 55 | } |
| 56 | } |
| 57 | } catch (Exception e) { |
Xinyu Zhang | 775afe3 | 2022-11-23 12:15:39 +0800 | [diff] [blame] | 58 | archiveArtifacts artifacts: 'trusted-firmware-m/build/**', allowEmptyArchive: true |
Xinyu Zhang | 4cdfd1b | 2021-05-21 15:10:49 +0800 | [diff] [blame] | 59 | manager.buildFailure() |
| 60 | verify = -1 |
| 61 | } finally { |
| 62 | g = new Gerrit() |
| 63 | g.verifyStatusInWorkspace(verify, env.CONFIG_NAME, 'build') |
| 64 | def buildStatus = (verify == 1) ? 'Successful' : 'Failed' |
| 65 | //g.commentInWorkspace("Build configuration ${env.CONFIG_NAME} ${buildStatus}: ${env.RUN_DISPLAY_URL}") |
| 66 | cleanWs() |
| 67 | } |
Dean Birch | 62c4f08 | 2020-01-17 16:13:26 +0000 | [diff] [blame] | 68 | } |
| 69 | } |