blob: a9604972025b9bc8a78419ed23336435ce88b47f [file] [log] [blame]
Zachary Leaf5a9a2772024-10-15 15:07:23 +01001- job:
2 name: tf-a-main-tfa-next
3 node: docker-amd64-tf-a-jammy
4 project-type: multijob
5 concurrent: true
6 disabled: false
7 description: Main CI job for Trusted Firmware Next
8 properties:
9 - throttle:
10 option: project
11 enabled: true
12 max-total: 5
13 - build-discarder:
14 days-to-keep: 14
15 num-to-keep: 60
16 triggers:
17 - gerrit:
Saheer Babu63e9d5d2025-02-12 13:47:50 +000018 silent: true
Zachary Leaf5a9a2772024-10-15 15:07:23 +010019 server-name: 'review.trustedfirmware.org'
20 projects:
21 - branches:
22 - branch-compare-type: PLAIN
Saheer Babu63e9d5d2025-02-12 13:47:50 +000023 branch-pattern: 'tfa-next'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010024 project-compare-type: PLAIN
Saheer Babu63e9d5d2025-02-12 13:47:50 +000025 project-pattern: 'TF-A/trusted-firmware-a'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010026 trigger-on:
27 - patchset-created-event:
28 exclude-drafts: true
Tomás González43ff3962024-11-12 12:24:33 +000029 exclude-trivial-rebase: false
Zachary Leaf5a9a2772024-10-15 15:07:23 +010030 exclude-no-code-change: true
31 exclude-private: true
32 exclude-wip: true
Zachary Leaf5b81ea02024-10-30 16:36:38 +000033 - comment-added-contains-event:
34 comment-contains-value: '^RUN_CI$'
Zachary Leaf9d17b662024-10-23 14:34:56 +010035 override-votes: true
36 gerrit-build-started-verified-value: 0
37 gerrit-build-successful-verified-value: 1
38 gerrit-build-failed-verified-value: -1
39 gerrit-build-unstable-verified-value: -1
40 gerrit-build-notbuilt-verified-value: 0
Zachary Leaf71632362024-11-04 16:36:05 +000041 # without explicitly setting these values to 0, the plugin will by
42 # default leave Code Review votes
43 gerrit-build-started-codereview-value: 0
44 gerrit-build-successful-codereview-value: 0
45 gerrit-build-failed-codereview-value: 0
46 gerrit-build-unstable-codereview-value: 0
47 gerrit-build-notbuilt-codereview-value: 0
Zachary Leaf9d17b662024-10-23 14:34:56 +010048 silent: false
49 silent-start: false
Zachary Leaf5a9a2772024-10-15 15:07:23 +010050 parameters:
51 # GERRIT_{PROJECT,BRANCH,REFSPEC} are set when triggered by a Gerrit
52 # patchset - defaults below are for manual triggers
53 - string:
54 name: GERRIT_PROJECT
55 default: 'TF-A/trusted-firmware-a'
56 - string:
57 name: GERRIT_BRANCH
58 default: 'refs/heads/tfa-next'
59 - string:
60 name: GERRIT_REFSPEC
61 default: '+refs/heads/tfa-next:refs/remotes/origin/tfa-next'
62 description: |
63 'e.g. refs/changes/13/31138/1'
64 - string:
65 name: TF_GERRIT_REFSPEC
66 default: ${GERRIT_REFSPEC}
67 description: |
68 'do-not-amend: used by scripts/clone.sh to fetch the correct Gerrit patchset - use GERRIT_REFSPEC instead'
69 - string:
Saheer Babu01b39d82025-02-12 14:15:11 +000070 name: TF_GERRIT_PROJECT
71 default: 'TF-A/trusted-firmware-a'
72 - string:
Zachary Leaf5a9a2772024-10-15 15:07:23 +010073 name: TFTF_GERRIT_PROJECT
74 default: 'TF-A/tf-a-tests'
75 - string:
76 name: TFTF_GERRIT_BRANCH
77 default: 'refs/heads/master'
78 - string:
79 name: TFTF_GERRIT_REFSPEC
80 default: '+refs/heads/master:refs/remotes/origin/master'
81 - string:
82 name: CI_REFSPEC
83 default: '+refs/heads/tfa-next:refs/remotes/origin/tfa-next'
84 description: |
Zachary Leaf9d17b662024-10-23 14:34:56 +010085 'Refs to fetch for the tf-a-ci-scripts repo e.g. refs/changes/13/31138/1'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010086 - string:
Saheer Babub495f032025-01-21 23:01:11 +000087 name: JOBS_REFSPEC
88 default: 'refs/heads/master'
89 description: |
90 tf-a-job-configs refspec to use. The master branch is used by default.
91 - string:
Zachary Leaf5a9a2772024-10-15 15:07:23 +010092 name: SHARE_FOLDER
Zachary Leaf65d20a02024-10-22 09:25:47 +010093 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010094 description: 'Folder containing shared repositories for downstream pipeline jobs'
95 - string:
96 name: CLONE_REPOS
97 default: "tf-a-ci-scripts,trusted-firmware-a"
98 description: |
99 Optional arg to clone only specific projects from default list (tf-a-ci-scripts,trusted-firmware-a,tf-a-tests,spm,tf-m-tests,tf-m-extras)
100 - string:
101 name: FETCH_SSH
102 default: 1
103 description: |
104 Fetch branches with authenticated SSH instead of anonymous HTTPS
105 wrappers:
106 - credentials-binding:
107 - ssh-user-private-key:
108 credential-id: TFA_CI_BOT_USER_SSH_KEY
109 key-file-variable: CI_BOT_KEY
110 username-variable: CI_BOT_USERNAME
111 passphrase-variable: ''
112 - workspace-cleanup
113 - timestamps
114 builders:
115 - shell:
116 !include-raw: scripts/clone.sh
117 - shell: |
118 #!/bin/bash
119 set -e
120 cat << EOF > tf-a-env.param
121 TF_GERRIT_PROJECT=${GERRIT_PROJECT}
122 TF_GERRIT_BRANCH=${GERRIT_BRANCH}
123 TF_GERRIT_REFSPEC=${GERRIT_REFSPEC}
124 SHARE_FOLDER=${SHARE_FOLDER}
125 EOF
126 - multijob:
Zachary Leaf28bc0012024-11-05 12:53:48 +0000127 name: Lint commit messages
128 condition: COMPLETED
129 projects:
130 - name: tf-a-commitlint-tfa-next
131 kill-phase-on: NEVER
132 predefined-parameters: |
133 REFSPEC=${GERRIT_REFSPEC}
134 REFNAME=${GERRIT_PATCHSET_REVISION}
135 REFNAME_BASE=origin/${GERRIT_BRANCH}
136 - multijob:
Zachary Leaf09235922024-11-01 17:52:16 +0000137 name: Code formatting, static checks and lints
138 condition: COMPLETED
139 projects:
140 - name: tf-a-static-tfa-next
141 current-parameters: true
142 kill-phase-on: NEVER
143 property-file: tf-a-env.param
144 - multijob:
Zachary Leaf5a9a2772024-10-15 15:07:23 +0100145 name: Build Trusted Firmware
146 condition: COMPLETED
147 projects:
148 - name: tf-a-ci-gateway-tfa-next
149 alias: tf-next-build
150 current-parameters: true
151 kill-phase-on: NEVER
152 predefined-parameters: |
153 TEST_GROUPS=tf-next-build
154 property-file: tf-a-env.param
Tomás Gonzálezf107cf82024-11-13 11:35:49 +0000155 - multijob:
156 name: FVP Tests
157 condition: COMPLETED
158 projects:
159 - name: tf-a-ci-gateway-tfa-next
160 alias: rfa-fvp
161 current-parameters: true
162 kill-phase-on: NEVER
163 predefined-parameters: |
164 TEST_GROUPS=rfa-fvp
165 property-file: tf-a-env.param