blob: 9b4755e6843164aca0c47a7445e1cae23b89a13d [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:
Zachary Leaf5a9a2772024-10-15 15:07:23 +010018 server-name: 'review.trustedfirmware.org'
19 projects:
20 - branches:
21 - branch-compare-type: PLAIN
22 branch-pattern: 'tfa-next'
23 project-compare-type: PLAIN
24 project-pattern: 'TF-A/trusted-firmware-a'
25 trigger-on:
26 - patchset-created-event:
27 exclude-drafts: true
28 exclude-trivial-rebase: true
29 exclude-no-code-change: true
30 exclude-private: true
31 exclude-wip: true
Zachary Leaf5b81ea02024-10-30 16:36:38 +000032 - comment-added-contains-event:
33 comment-contains-value: '^RUN_CI$'
Zachary Leaf9d17b662024-10-23 14:34:56 +010034 override-votes: true
35 gerrit-build-started-verified-value: 0
36 gerrit-build-successful-verified-value: 1
37 gerrit-build-failed-verified-value: -1
38 gerrit-build-unstable-verified-value: -1
39 gerrit-build-notbuilt-verified-value: 0
40 silent: false
41 silent-start: false
Zachary Leaf5a9a2772024-10-15 15:07:23 +010042 parameters:
43 # GERRIT_{PROJECT,BRANCH,REFSPEC} are set when triggered by a Gerrit
44 # patchset - defaults below are for manual triggers
45 - string:
46 name: GERRIT_PROJECT
47 default: 'TF-A/trusted-firmware-a'
48 - string:
49 name: GERRIT_BRANCH
50 default: 'refs/heads/tfa-next'
51 - string:
52 name: GERRIT_REFSPEC
53 default: '+refs/heads/tfa-next:refs/remotes/origin/tfa-next'
54 description: |
55 'e.g. refs/changes/13/31138/1'
56 - string:
57 name: TF_GERRIT_REFSPEC
58 default: ${GERRIT_REFSPEC}
59 description: |
60 'do-not-amend: used by scripts/clone.sh to fetch the correct Gerrit patchset - use GERRIT_REFSPEC instead'
61 - string:
62 name: TFTF_GERRIT_PROJECT
63 default: 'TF-A/tf-a-tests'
64 - string:
65 name: TFTF_GERRIT_BRANCH
66 default: 'refs/heads/master'
67 - string:
68 name: TFTF_GERRIT_REFSPEC
69 default: '+refs/heads/master:refs/remotes/origin/master'
70 - string:
71 name: CI_REFSPEC
72 default: '+refs/heads/tfa-next:refs/remotes/origin/tfa-next'
73 description: |
Zachary Leaf9d17b662024-10-23 14:34:56 +010074 'Refs to fetch for the tf-a-ci-scripts repo e.g. refs/changes/13/31138/1'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010075 - string:
76 name: SHARE_FOLDER
Zachary Leaf65d20a02024-10-22 09:25:47 +010077 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
Zachary Leaf5a9a2772024-10-15 15:07:23 +010078 description: 'Folder containing shared repositories for downstream pipeline jobs'
79 - string:
80 name: CLONE_REPOS
81 default: "tf-a-ci-scripts,trusted-firmware-a"
82 description: |
83 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)
84 - string:
85 name: FETCH_SSH
86 default: 1
87 description: |
88 Fetch branches with authenticated SSH instead of anonymous HTTPS
89 wrappers:
90 - credentials-binding:
91 - ssh-user-private-key:
92 credential-id: TFA_CI_BOT_USER_SSH_KEY
93 key-file-variable: CI_BOT_KEY
94 username-variable: CI_BOT_USERNAME
95 passphrase-variable: ''
96 - workspace-cleanup
97 - timestamps
98 builders:
99 - shell:
100 !include-raw: scripts/clone.sh
101 - shell: |
102 #!/bin/bash
103 set -e
104 cat << EOF > tf-a-env.param
105 TF_GERRIT_PROJECT=${GERRIT_PROJECT}
106 TF_GERRIT_BRANCH=${GERRIT_BRANCH}
107 TF_GERRIT_REFSPEC=${GERRIT_REFSPEC}
108 SHARE_FOLDER=${SHARE_FOLDER}
109 EOF
110 - multijob:
111 name: Build Trusted Firmware
112 condition: COMPLETED
113 projects:
114 - name: tf-a-ci-gateway-tfa-next
115 alias: tf-next-build
116 current-parameters: true
117 kill-phase-on: NEVER
118 predefined-parameters: |
119 TEST_GROUPS=tf-next-build
120 property-file: tf-a-env.param