blob: 1a52bd24b39d8e3294f01ef85394fbe5bce80ae5 [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
Paul Sokolovsky3d48d0b2023-11-15 20:43:08 +030077 default: 'https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.4.1.tar.gz'
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +030078 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'
Paul Sokolovsky7146fe72023-09-16 16:07:25 +030084 triggers:
85 - timed : 'H 2 * * *'
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +030086# - 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
Paul Sokolovsky32f71fe2023-11-15 22:12:49 +0300126 . tf-a-ci-scripts/eclair/eclair_vars.sh
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +0300127
128 detachLicense 600
Paul Sokolovskyac20bd52023-11-15 21:05:29 +0300129 trap "returnLicense || true" EXIT
Paul Sokolovsky1516a9d2023-09-16 00:01:23 +0300130
131 export ECLAIR_ANALYSIS=ECLAIR
132 eclair_prepare
133 eclair_analyze tf-a-ci-scripts/eclair/build-tfa-multiple.sh
134 eclair_make_ecd
135 eclair_make_reports
136 eclair_compress_db
137
138 tf-ci-scripts/eclair/analyze_index_html.sh
139 publishers:
140 - archive:
141 artifacts: 'ECLAIR/**, index.html'
142 excludes: 'ECLAIR/out/.data/**'
143 latest-only: false
144 allow-empty: true
145 - email:
146 recipients: 'paul.sokolovsky@linaro.org'