blob: c7d3f0e23be2d7d96ebcfd5ee46ed24b087b4251 [file] [log] [blame]
Tomás González44e613d2025-06-09 16:08:39 +01001- job:
2 name: arm-ffa-main
3 node: docker-amd64-tf-a-jammy
4 project-type: multijob
5 concurrent: true
6 disabled: false
Tomás Gonzálezda115e22025-06-09 16:20:23 +01007 description: Main CI job for the arm-ffa crate
Tomás González44e613d2025-06-09 16:08:39 +01008 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
Chris Kayc1aa7ba2025-06-12 16:56:38 +010016 # triggers:
17 # - 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/arm-ffa'
25 # trigger-on:
26 # - patchset-created-event:
27 # exclude-drafts: true
28 # exclude-trivial-rebase: false
29 # exclude-no-code-change: true
30 # exclude-private: true
31 # exclude-wip: true
32 # - comment-added-contains-event:
33 # comment-contains-value: '^STAGING_RUN_FFA_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ález44e613d2025-06-09 16:08:39 +010049 parameters:
50 # 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/arm-ffa'
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:
Chris Kayc1aa7ba2025-06-12 16:56:38 +010064 name: ARM_FFA_REFSPEC
Tomás González44e613d2025-06-09 16:08:39 +010065 default: ${GERRIT_REFSPEC}
66 description: |
Chris Kayc1aa7ba2025-06-12 16:56:38 +010067 'do-not-amend: used by scripts/clone.sh to fetch the correct Gerrit patchset - use GERRIT_REFSPEC instead'
Tomás González44e613d2025-06-09 16:08:39 +010068 - string:
69 name: CI_REFSPEC
Tomás Gonzáleze5ca2272025-06-13 12:42:43 +010070 default: '+refs/heads/tfa-next:refs/remotes/origin/tfa-next'
Tomás González44e613d2025-06-09 16:08:39 +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:
Tomás González35e03cf2025-06-12 16:17:26 +010079 name: TEST_FEATURES
80 description: 'Features the arm-ffa crate will be tested against'
81 - string:
Tomás González44e613d2025-06-09 16:08:39 +010082 name: SHARE_FOLDER
83 default: '/srv/shared/staging/${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,arm-ffa"
88 description: |
Tomás González35e03cf2025-06-12 16:17:26 +010089 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ález44e613d2025-06-09 16:08:39 +010090 - string:
91 name: FETCH_SSH
92 default: 1
93 description: |
94 Fetch branches with authenticated SSH instead of anonymous HTTPS
95 wrappers:
96 - credentials-binding:
97 - ssh-user-private-key:
98 credential-id: TFA_CI_BOT_USER_SSH_KEY
99 key-file-variable: CI_BOT_KEY
100 username-variable: CI_BOT_USERNAME
101 passphrase-variable: ''
102 - workspace-cleanup
103 - timestamps
104 builders:
105 - shell:
Chris Kayc1aa7ba2025-06-12 16:56:38 +0100106 !include-raw: scripts/clone.sh
Tomás González44e613d2025-06-09 16:08:39 +0100107 - shell: |
108 #!/bin/bash
109 set -e
110 cat << EOF > tf-a-env.param
111 ARM_FFA_GERRIT_PROJECT=${GERRIT_PROJECT}
112 ARM_FFA_GERRIT_REFSPEC=${GERRIT_REFSPEC}
113 SHARE_FOLDER=${SHARE_FOLDER}
114 EOF
115 - multijob:
116 name: Platform independent tests
117 condition: COMPLETED
118 projects:
Tomás González35e03cf2025-06-12 16:17:26 +0100119 - name: generic-lib-testing
Tomás González44e613d2025-06-09 16:08:39 +0100120 current-parameters: true
121 kill-phase-on: NEVER
122 predefined-parameters: |
123 TEST_REPO_NAME=arm-ffa
124 TEST_REPO_PROJECT=rust-spmc
Tomás González35e03cf2025-06-12 16:17:26 +0100125 TEST_FEATURES=${TEST_FEATURES}
Tomás González44e613d2025-06-09 16:08:39 +0100126 property-file: tf-a-env.param