blob: 74e27fb0473b7a75b3074f52904eb249cfc656c8 [file] [log] [blame]
Leonardo Sandovaldc2a03a2020-10-05 18:12:19 -05001- job:
Leonardo Sandovalffaee982021-11-11 10:27:57 -06002 name: tf-a-ci-gateway
Boyan Karatotev5c87c072023-02-10 11:04:58 +00003 node: docker-amd64-tf-a-jammy
Leonardo Sandovaldc2a03a2020-10-05 18:12:19 -05004 project-type: freestyle
5 concurrent: true
6 disabled: false
7 defaults: global
8 description: |
9 Main job entry point for a Trusted Firmware A (TF-A) CI.
10 properties:
Chris Kay675db4f2025-06-24 14:14:34 +010011 - build-discarder:
12 days-to-keep: 15
13 - throttle:
14 option: project
15 enabled: true
16 max-per-node: 3
17 max-total: 10
Leonardo Sandovaldc2a03a2020-10-05 18:12:19 -050018 wrappers:
Chris Kay675db4f2025-06-24 14:14:34 +010019 - credentials-binding:
20 - ssh-user-private-key:
21 credential-id: TFA_CI_BOT_USER_SSH_KEY
22 key-file-variable: CI_BOT_KEY
23 username-variable: CI_BOT_USERNAME
24 passphrase-variable: ""
25 - workspace-cleanup
26 - timeout:
27 timeout: 240
28 fail: true
29 - timestamps
Leonardo Sandovaldc2a03a2020-10-05 18:12:19 -050030 parameters:
Chris Kay675db4f2025-06-24 14:14:34 +010031 - string:
32 name: TEST_GROUPS
33 default: tf-l2-boot-tests-cortex/fvp-default:fvp-linux-dtb-fip.uboot-cortexa35x4-debug
34 description: |
35 White space separated list of test configs: can be mix of specific
36 test configs (e.g., <code>l1/fvp-default:fvp-linux-default</code>) and
37 group names (e.g., <code>l1 l2</code>).
38 - string:
39 name: TF_GERRIT_REFSPEC
40 default: +refs/heads/master:refs/remotes/origin/master
41 description: |
42 trusted-firmware-a refspec to use. The master branch is used by default.
43 - string:
44 name: TFTF_GERRIT_REFSPEC
45 default: +refs/heads/master:refs/remotes/origin/master
46 description: |
47 tf-a-tests refspec to use. The master branch is used by default.
48 - string:
49 name: TF_M_TESTS_GERRIT_REFSPEC
50 default: +refs/heads/tfa_ci_dep_revision:refs/remotes/origin/tfa_ci_dep_revision
51 description: |
52 tf-m-tests refspec to use. The tfa_ci_dep_revision branch is used by default.
53 - string:
54 name: TF_M_EXTRAS_GERRIT_REFSPEC
55 default: +refs/heads/tfa_ci_dep_revision:refs/remotes/origin/tfa_ci_dep_revision
56 description: |
57 tf-m-extras refspec to use. The tfa_ci_dep_revision branch is used by default.
58 - string:
59 name: SPM_REFSPEC
60 default: +refs/heads/master:refs/remotes/origin/master
61 description: |
62 SPM(Hafnium) refspec to use. The master branch is used by default.
63 - string:
64 name: CI_REFSPEC
65 default: +refs/heads/master:refs/remotes/origin/master
66 description: |
67 tf-a-ci-scripts refspec to use. The master branch is used by default.
68 - string:
69 name: RMM_REFSPEC
70 default: +refs/heads/main:refs/remotes/origin/main
71 description: |
72 tf-rmm refspec to use. The main branch is used by default.
73 - string:
Edward Potapove6e553b2025-08-11 14:10:17 -050074 name: TFUT_GERRIT_REFSPEC
Edward Potapove0e8f052025-08-21 15:05:00 -050075 default: +refs/heads/main:refs/remotes/origin/main
Edward Potapove6e553b2025-08-11 14:10:17 -050076 description: |
Edward Potapove0e8f052025-08-21 15:05:00 -050077 tf-a-unit-tests refspec to use. The main branch is used by default.
Edward Potapove6e553b2025-08-11 14:10:17 -050078 - string:
Chris Kay675db4f2025-06-24 14:14:34 +010079 name: JOBS_REFSPEC
80 default: refs/heads/master
81 description: |
82 tf-a-job-configs refspec to use. The master branch is used by default.
83 - bool:
84 name: ENABLE_STATIC_CHECK
85 default: false
86 - string:
87 name: QA_TOOLS_REPO
88 default: https://git.gitlab.arm.com/tooling/qa-tools.git
89 - string:
90 name: QA_TOOLS_BRANCH
91 default: master
92 - string:
93 name: USE_TUXSUITE_FVP
94 default: 1
95 description: |
96 Whether to submit FVP tests via TuxSuite (instead of LAVA)
97 - string:
98 name: SHARE_FOLDER
99 default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER}
100 description: Folder containing shared repositories for downstream pipeline jobs
Leonardo Sandovaldc2a03a2020-10-05 18:12:19 -0500101 builders:
Chris Kay675db4f2025-06-24 14:14:34 +0100102 - shell: !include-raw: scripts/clone.sh
103 - shell: |
104 #!/bin/bash
105 set -e
106 CI_ROOT=${PWD}/tf-a-ci-scripts
107 export workspace=$PWD
108 export test_groups=$TEST_GROUPS
109 $CI_ROOT/script/gen_test_desc.py
110 cat << EOF > share.param
111 SHARE_FOLDER=${SHARE_FOLDER}
112 EOF
113 - trigger-builds:
114 - project:
115 - tf-a-builder
116 block: true
117 property-file: share.param
118 current-parameters: true
119 property-file-fail-on-missing: false
120 parameter-factories:
121 - factory: filebuild
122 file-pattern: '*.testprop'
123 no-files-found-action: FAIL
Leonardo Sandoval9f159802021-01-20 16:47:25 -0600124 publishers:
Chris Kay675db4f2025-06-24 14:14:34 +0100125 - postbuildscript:
126 builders:
127 - role: SLAVE
128 build-on:
129 - SUCCESS
130 - FAILURE
131 - UNSTABLE
132 - ABORTED
133 - NOT_BUILT
134 build-steps:
135 - shell: |-
136 #!/bin/bash -e
137 export CI_ROOT=${PWD}/tf-a-ci-scripts
138 bash "$CI_ROOT/job/tf-ci-gateway/generate_report.sh"
139 - archive:
140 artifacts: report.json, report.html, merge/outdir/**
141 - groovy-postbuild:
142 script: !include-raw:
143 - tf-a-ci-gateway/postbuild.groovy