blob: a3f2ed2fbea9380c5e93fe425fb63bb5705e59b6 [file] [log] [blame]
Zachary Leaf5a9a2772024-10-15 15:07:23 +01001- job:
2 name: tf-a-ci-gateway-tfa-next
3 node: docker-amd64-tf-a-jammy
4 project-type: freestyle
5 concurrent: true
6 disabled: false
7 defaults: global
8 description: |
9 Main job entry point for a Trusted Firmware A Next (TF-A) CI
10 properties:
11 - build-discarder:
12 days-to-keep: 15
13 - throttle:
14 option: project
15 enabled: true
16 max-per-node: 3
17 max-total: 10
Zachary Leaf5a9a2772024-10-15 15:07:23 +010018 wrappers:
19 - 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
30 parameters:
31 - 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/main:refs/remotes/origin/main'
51 description: |
52 tf-m-tests refspec to use. The main branch is used by default.
53 - string:
54 name: TF_M_EXTRAS_GERRIT_REFSPEC
55 default: '+refs/heads/main:refs/remotes/origin/main'
56 description: |
57 tf-m-extras refspec to use. The main 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.
Saheer Babub495f032025-01-21 23:01:11 +000068 - string:
69 name: JOBS_REFSPEC
70 default: 'refs/heads/master'
71 description: |
72 tf-a-job-configs refspec to use. The master branch is used by default.
Zachary Leaf5a9a2772024-10-15 15:07:23 +010073 - bool:
74 name: ENABLE_STATIC_CHECK
75 default: false
76 - string:
77 name: QA_TOOLS_REPO
78 default: 'https://git.gitlab.arm.com/tooling/qa-tools.git'
79 - string:
80 name: QA_TOOLS_BRANCH
81 default: 'master'
82 - string:
83 name: USE_TUXSUITE_FVP
84 default: 1
85 description: |
86 Whether to submit FVP tests via TuxSuite (instead of LAVA)
87 - string:
Saheer Babud972f302025-01-19 16:43:48 +000088 name: CLONE_REPOS
89 default: "tf-a-ci-scripts,trusted-firmware-a"
90 description: |
91 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)
92 - string:
Zachary Leaf5a9a2772024-10-15 15:07:23 +010093 name: SHARE_FOLDER
94 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
95 description: 'Folder containing shared repositories for downstream pipeline jobs'
96 builders:
97 - shell:
98 !include-raw: scripts/clone.sh
99 - shell: |
100 #!/bin/bash
101 set -e
102 CI_ROOT=${PWD}/tf-a-ci-scripts
103 export workspace=$PWD
104 export test_groups=$TEST_GROUPS
105 $CI_ROOT/script/gen_test_desc.py
106 cat << EOF > share.param
107 SHARE_FOLDER=${SHARE_FOLDER}
108 EOF
109 - trigger-builds:
110 - project:
111 - tf-a-builder-tfa-next
112 block: true
113 property-file: share.param
114 current-parameters: true
115 property-file-fail-on-missing: false
116 parameter-factories:
117 - factory: filebuild
118 file-pattern: '*.testprop'
119 no-files-found-action: FAIL
120 publishers:
121 - postbuildscript:
122 builders:
123 - role: SLAVE
124 build-on:
125 - SUCCESS
126 - FAILURE
127 - UNSTABLE
128 - ABORTED
129 - NOT_BUILT
130 build-steps:
131 - shell: |-
132 #!/bin/bash -e
133 export CI_ROOT=${PWD}/tf-a-ci-scripts
134 bash "$CI_ROOT/job/tf-ci-gateway/generate_report.sh"
135 - archive:
136 artifacts: report.json, report.html, merge/outdir/**
137 - groovy-postbuild:
138 script:
139 !include-raw:
140 - tf-a-ci-gateway/postbuild.groovy