blob: e00d011744ecf32da6a7117b8090652230ea25b3 [file] [log] [blame]
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +03001- job:
2 name: tf-a-eclair-daily
3 node: docker-tf-a-eclair
4 project-type: freestyle
5 concurrent: true
6 disabled: false
7 defaults: global
8 Description: |
9 ECLAIR (MISRA compliance) testing of TF-A
10 properties:
11 - build-discarder:
12 days-to-keep: 40
13 - authorization:
14 !include: authorization.yaml.inc
15 parameters:
16 - string:
17 name: TF_CONFIG_LIST
18 default: >
19 fvp-aarch32-default
20 fvp-aarch32-enable-runtime-instr
21 fvp-aarch32-rst-to-sp-min
22 fvp-boot-el3-payload
23 fvp-default
24 fvp-enable-runtime-instr
25 fvp-ext-pstate-ea-el3
26 fvp-no-cohmem
27 fvp-opteed
28 fvp-r-default
29 fvp-rst-bl31
30 fvp-tspd
31 fvp-tspd-gicv2-symmetric-model
32 fvp-tspd-irq2el3
33 fvp-tspd-quad-cluster
34 fvp-tspd-tbb-mbedtls
35 fvp-tspd-tsp-async
36 juno-aarch32-rst-to-sp-min
37 juno-aarch32-rst-to-sp-min-enable-runtime-instr
38 juno-default
39 juno-tspd
40 description: |
41 List of TF-A configs to build
42 - string:
43 name: MAKE_TARGET
44 default: ''
45 description: |
46 TF-A make target
47 - string:
48 name: MAKE_JOBS
49 default: '16'
50 description: |
51 --jobs to pass to make, etc.
52 - string:
53 name: DEBUG
54 default: '1'
55 description: |
56 TF-A make DEBUG setting
57 - string:
58 name: GERRIT_HOST
59 default: 'review.trustedfirmware.org'
60 - string:
61 name: GERRIT_PROJECT
62 default: 'TF-A/trusted-firmware-a'
63 description: |
64 Git project to build (also set by Gerrit trigger)
65 - string:
66 name: GERRIT_REFNAME
67 default: 'integration'
68 description: |
69 Git branch to build (also set by Gerrit trigger)
70 - string:
71 name: GERRIT_NEWREV
72 default: ''
73 description: |
74 Git revision to build (also set by Gerrit ref-updated trigger)
75 - string:
76 name: MBEDTLS_URL
77 default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.4.0.tar.gz'
78 description: |
79 URL of mbedTLS library to use in build (only for some configurations)
80 - string:
81 name: SHARE_FOLDER
82 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
83 description: 'Folder containing shared repositories for downstream pipeline jobs'
84# triggers:
85# - timed : 'H 2 * * *'
86# - gerrit:
87# silent: true
88# server-name: 'review.trustedfirmware.org'
89# projects:
90# - branches:
91# - branch-compare-type: PLAIN
92# branch-pattern: integration
93# project-compare-type: PLAIN
94# project-pattern: 'TF-A/trusted-firmware-a'
95# trigger-on:
96# - ref-updated-event
97 wrappers:
98 - timestamps
99 - timeout:
Paul Sokolovskyc030bc82023-09-16 10:32:10 +0300100 timeout: 400
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +0300101 fail: true
102 builders:
103 - shell: |
104 #!/bin/bash
105 set -ex
106 pwd
107 git clone https://git.trustedfirmware.org/ci/tf-a-ci-scripts.git
108 git clone https://git.trustedfirmware.org/ci/tf-ci-scripts.git
109
110 git clone https://${GERRIT_HOST}/${GERRIT_PROJECT} -b ${GERRIT_REFNAME}
111 ls -l
112 if [ -n "${GERRIT_NEWREV}" ]; then
113 (cd $(basename ${GERRIT_PROJECT}); git checkout ${GERRIT_NEWREV})
114 else
115 # Checkout last commit from yesterday, to have a stable commit for
116 # multiple builds.
117 (cd $(basename ${GERRIT_PROJECT}); git checkout $(git rev-list -n1 --before="today" HEAD))
118 fi
119 (cd $(basename ${GERRIT_PROJECT}); git log -n1)
120
121 export ECLAIR_CONFIG_DIR=$PWD/tf-a-ci-scripts/eclair
122 . tf-ci-scripts/eclair/utils.sh
123 # TODO
124 #. tf-a-ci-scripts/eclair/utils_tfa.sh
125
126 export CROSS_COMPILE=aarch64-none-elf-
127 export CROSS_COMPILE2=arm-none-eabi-
128 export CC_ALIASES="${CROSS_COMPILE}gcc"
129 export CC_ALIASES="${CC_ALIASES} ${CROSS_COMPILE2}gcc"
130 export CXX_ALIASES="${CROSS_COMPILE}g++"
131 export LD_ALIASES="${CROSS_COMPILE}ld"
132 export AR_ALIASES="${CROSS_COMPILE}ar"
133 export AS_ALIASES="${CROSS_COMPILE}as"
134 export FILEMANIP_ALIASES="cp mv ${CROSS_COMPILE}objcopy"
135 export ECLAIR_PROJECT_NAME="TF_A_${JOB_NAME}_${BUILD_NUMBER}"
136 export ECLAIR_PROJECT_ROOT="${WORKSPACE}/trusted-firmware-a"
137
138 detachLicense 600
139 trap "returnLicense" EXIT
140
141 export ECLAIR_ANALYSIS=ECLAIR
142 eclair_prepare
143 eclair_analyze tf-a-ci-scripts/eclair/build-tfa-multiple.sh
144 eclair_make_ecd
145 eclair_make_reports
146 eclair_compress_db
147
148 tf-ci-scripts/eclair/analyze_index_html.sh
149 publishers:
150 - archive:
151 artifacts: 'ECLAIR/**, index.html'
152 excludes: 'ECLAIR/out/.data/**'
153 latest-only: false
154 allow-empty: true
155 - email:
156 recipients: 'paul.sokolovsky@linaro.org'