blob: 293b81b9ea46de278b67aa124f19e9e19e27eedc [file] [log] [blame]
Tomás González47336e02025-06-13 10:03:13 +01001- job:
2 name: firmware-development-guide-main
3 node: docker-amd64-tf-a-jammy
4 project-type: multijob
5 concurrent: true
6 disabled: false
7 description: Main CI job for the firmware-development-guide crate
8 properties:
Chris Kay675db4f2025-06-24 14:14:34 +01009 - throttle:
10 option: project
11 enabled: true
12 max-total: 5
13 - build-discarder:
14 days-to-keep: 14
15 num-to-keep: 60
Tomás González47336e02025-06-13 10:03:13 +010016 triggers:
Chris Kay675db4f2025-06-24 14:14:34 +010017 - gerrit:
18 server-name: review.trustedfirmware.org
19 projects:
20 - branches:
21 - branch-compare-type: PLAIN
22 branch-pattern: main
23 project-compare-type: PLAIN
24 project-pattern: rust-spmc/firmware-development-guide
25 trigger-on:
Tomás González47336e02025-06-13 10:03:13 +010026 - patchset-created-event:
27 exclude-drafts: true
Tomás González11e6c7d2025-08-13 16:34:58 +010028 exclude-trivial-rebase: true
Tomás González47336e02025-06-13 10:03:13 +010029 exclude-no-code-change: true
30 exclude-private: true
31 exclude-wip: true
32 - comment-added-contains-event:
Chris Kay675db4f2025-06-24 14:14:34 +010033 comment-contains-value: ^RUN_CI$
34 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 # without explicitly setting these values to 0, the plugin will by
41 # default leave Code Review votes
42 gerrit-build-started-codereview-value: 0
43 gerrit-build-successful-codereview-value: 0
44 gerrit-build-failed-codereview-value: 0
45 gerrit-build-unstable-codereview-value: 0
46 gerrit-build-notbuilt-codereview-value: 0
47 silent: false
48 silent-start: false
Tomás González47336e02025-06-13 10:03:13 +010049 parameters:
Chris Kay675db4f2025-06-24 14:14:34 +010050 # GERRIT_{PROJECT,BRANCH,REFSPEC} are set when triggered by a Gerrit
51 # patchset - defaults below are for manual triggers
52 - string:
53 name: GERRIT_PROJECT
54 default: rust-spmc/firmware-development-guide
55 - string:
56 name: GERRIT_BRANCH
57 default: refs/heads/main
58 - string:
59 name: GERRIT_REFSPEC
60 default: +refs/heads/main:refs/remotes/origin/main
61 description: |
62 'e.g. refs/changes/13/31138/1'
63 - string:
64 name: ARM_FW_DEV_GUIDE_GERRIT_REFSPEC
65 default: ${GERRIT_REFSPEC}
66 description: |
67 'do-not-amend: used by scripts/clone.sh to fetch the correct Gerrit patchset - use GERRIT_REFSPEC instead'
68 - string:
69 name: CI_REFSPEC
Tomás Gonzálezea4dae52025-08-18 11:12:55 +010070 default: +refs/heads/rf-a:refs/remotes/origin/rf-a
Chris Kay675db4f2025-06-24 14:14:34 +010071 description: |
72 'Refs to fetch for the tf-a-ci-scripts repo e.g. refs/changes/13/31138/1'
73 - string:
74 name: JOBS_REFSPEC
75 default: refs/heads/master
76 description: |
77 tf-a-job-configs refspec to use. The master branch is used by default.
78 - string:
79 name: TEST_FEATURES
80 description: Features the firmware-development-guide crate will be tested against
81 - string:
82 name: SHARE_FOLDER
83 default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER}
84 description: Folder containing shared repositories for downstream pipeline jobs
85 - string:
86 name: CLONE_REPOS
87 default: tf-a-ci-scripts,firmware-development-guide
88 description: |
89 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,etc.)
Tomás González47336e02025-06-13 10:03:13 +010090 wrappers:
91 - credentials-binding:
92 - ssh-user-private-key:
93 credential-id: TFA_CI_BOT_USER_SSH_KEY
94 key-file-variable: CI_BOT_KEY
95 username-variable: CI_BOT_USERNAME
Chris Kay675db4f2025-06-24 14:14:34 +010096 passphrase-variable: ""
Tomás González47336e02025-06-13 10:03:13 +010097 - workspace-cleanup
98 - timestamps
99 builders:
Chris Kay675db4f2025-06-24 14:14:34 +0100100 - shell: !include-raw: scripts/clone.sh
101 - shell: |
102 #!/bin/bash
103 set -e
104 cat << EOF > tf-a-env.param
105 ARM_FW_DEV_GUIDE_GERRIT_PROJECT=${GERRIT_PROJECT}
106 ARM_FW_DEV_GUIDE_GERRIT_REFSPEC=${GERRIT_REFSPEC}
107 SHARE_FOLDER=${SHARE_FOLDER}
108 EOF
109 - multijob:
110 name: Platform independent tests
111 condition: COMPLETED
112 projects:
113 - name: generic-lib-testing
114 current-parameters: true
115 kill-phase-on: NEVER
116 predefined-parameters: |
117 TEST_REPO_NAME=firmware-development-guide
118 TEST_REPO_PROJECT=rust-spmc
119 TEST_FEATURES=${TEST_FEATURES}
120 property-file: tf-a-env.param