blob: f7178b262cf7b2f9ac10dd39f198adbb4728d1f9 [file] [log] [blame]
Mark Dykes7c2661d2023-06-23 15:02:21 -05001- job:
mardyk01abc34a12023-12-13 10:41:37 -06002 name: tf-a-ci-coverage-gateway
Mark Dykes7c2661d2023-06-23 15:02:21 -05003 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 with coverage focus(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
18 - authorization:
19 !include: authorization.yaml.inc
20 wrappers:
21 - credentials-binding:
22 - ssh-user-private-key:
23 credential-id: TFA_CI_BOT_USER_SSH_KEY
24 key-file-variable: CI_BOT_KEY
25 username-variable: CI_BOT_USERNAME
26 passphrase-variable: ''
27 - workspace-cleanup
28 - timeout:
29 timeout: 240
30 fail: true
31 - timestamps
32 parameters:
33 - string:
34 name: TEST_GROUPS
Manish Pandeyb0ff6bc2024-03-15 12:01:13 +000035 default: tf-l3-code-coverage
Mark Dykes7c2661d2023-06-23 15:02:21 -050036 description: |
37 White space separated list of test configs: can be mix of specific
38 test configs (e.g., <code>l1/fvp-default:fvp-linux-default</code>) and
39 group names (e.g., <code>l1 l2</code>).
40 - string:
41 name: TF_GERRIT_REFSPEC
42 default: '+refs/heads/master:refs/remotes/origin/master'
43 description: |
44 trusted-firmware-a refspec to use. The master branch is used by default.
45 - string:
46 name: TFTF_GERRIT_REFSPEC
47 default: '+refs/heads/master:refs/remotes/origin/master'
48 description: |
49 tf-a-tests refspec to use. The master branch is used by default.
50 - string:
51 name: TF_M_TESTS_GERRIT_REFSPEC
52 default: '+refs/heads/master:refs/remotes/origin/master'
53 description: |
54 tf-m-tests refspec to use. The master branch is used by default.
55 - string:
56 name: TF_M_EXTRAS_GERRIT_REFSPEC
57 default: '+refs/heads/master:refs/remotes/origin/master'
58 description: |
59 tf-m-extras refspec to use. The master branch is used by default.
60 - string:
61 name: SPM_REFSPEC
62 default: '+refs/heads/master:refs/remotes/origin/master'
63 description: |
64 SPM(Hafnium) refspec to use. The master branch is used by default.
65 - string:
66 name: CI_REFSPEC
67 default: '+refs/heads/master:refs/remotes/origin/master'
68 description: |
69 tf-a-ci-scripts refspec to use. The master branch is used by default.
70 - bool:
71 name: ENABLE_STATIC_CHECK
72 default: false
73 - string:
74 name: QA_TOOLS_REPO
75 default: 'https://git.gitlab.arm.com/tooling/qa-tools.git'
76 - string:
77 name: QA_TOOLS_BRANCH
78 default: 'master'
79 - string:
80 name: SHARE_FOLDER
81 default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
82 description: 'Folder containing shared repositories for downstream pipeline jobs'
83 builders:
84 - shell:
85 !include-raw: scripts/clone.sh
86 - shell: |
87 #!/bin/bash
88 set -e
89 CI_ROOT=${PWD}/tf-a-ci-scripts
90 export workspace=$PWD
91 export test_groups=$TEST_GROUPS
92 $CI_ROOT/script/gen_test_desc.py
93 cat << EOF > share.param
94 SHARE_FOLDER=${SHARE_FOLDER}
95 EOF
96 - trigger-builds:
97 - project:
98 - tf-a-builder
99 block: true
100 property-file: share.param
101 current-parameters: true
102 property-file-fail-on-missing: false
103 parameter-factories:
104 - factory: filebuild
105 file-pattern: '*.testprop'
106 no-files-found-action: FAIL
107 publishers:
108 - postbuildscript:
109 builders:
110 - role: SLAVE
111 build-on:
112 - SUCCESS
113 - FAILURE
114 - UNSTABLE
115 - ABORTED
116 - NOT_BUILT
117 build-steps:
118 - shell: |-
119 #!/bin/bash -e
120 export CI_ROOT=${PWD}/tf-a-ci-scripts
121 bash "$CI_ROOT/job/tf-ci-gateway/generate_report.sh"
122 - archive:
123 artifacts: report.json, report.html, merge/outdir/**
124 - groovy-postbuild:
125 script:
126 !include-raw:
127 - tf-a-ci-gateway/postbuild.groovy