Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 1 | - job: |
mardyk01 | abc34a1 | 2023-12-13 10:41:37 -0600 | [diff] [blame] | 2 | name: tf-a-ci-coverage-gateway |
Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 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 with coverage focus(TF-A) CI. |
| 10 | properties: |
Chris Kay | 675db4f | 2025-06-24 14:14:34 +0100 | [diff] [blame] | 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 |
Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 18 | wrappers: |
Chris Kay | 675db4f | 2025-06-24 14:14:34 +0100 | [diff] [blame] | 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 |
Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 30 | parameters: |
Chris Kay | 675db4f | 2025-06-24 14:14:34 +0100 | [diff] [blame] | 31 | - string: |
| 32 | name: TEST_GROUPS |
| 33 | default: tf-l3-code-coverage |
| 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/master:refs/remotes/origin/master |
| 51 | description: | |
| 52 | tf-m-tests refspec to use. The master branch is used by default. |
| 53 | - string: |
| 54 | name: TF_M_EXTRAS_GERRIT_REFSPEC |
| 55 | default: +refs/heads/master:refs/remotes/origin/master |
| 56 | description: | |
| 57 | tf-m-extras refspec to use. The master 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: RMM_REFSPEC |
| 65 | default: +refs/heads/main:refs/remotes/origin/main |
| 66 | description: | |
| 67 | tf-rmm refspec to use. The main branch is used by default. |
| 68 | - string: |
| 69 | name: CI_REFSPEC |
| 70 | default: +refs/heads/master:refs/remotes/origin/master |
| 71 | description: | |
| 72 | tf-a-ci-scripts refspec to use. The master branch is used by default. |
| 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 | - bool: |
| 79 | name: ENABLE_STATIC_CHECK |
| 80 | default: false |
| 81 | - string: |
| 82 | name: QA_TOOLS_REPO |
| 83 | default: https://git.gitlab.arm.com/tooling/qa-tools.git |
| 84 | - string: |
| 85 | name: QA_TOOLS_BRANCH |
| 86 | default: master |
| 87 | - string: |
| 88 | name: SHARE_FOLDER |
| 89 | default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER} |
| 90 | description: Folder containing shared repositories for downstream pipeline jobs |
Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 91 | builders: |
Chris Kay | 675db4f | 2025-06-24 14:14:34 +0100 | [diff] [blame] | 92 | - shell: !include-raw: scripts/clone.sh |
| 93 | - shell: | |
| 94 | #!/bin/bash |
| 95 | set -e |
| 96 | CI_ROOT=${PWD}/tf-a-ci-scripts |
| 97 | export workspace=$PWD |
| 98 | export test_groups=$TEST_GROUPS |
| 99 | $CI_ROOT/script/gen_test_desc.py |
| 100 | cat << EOF > share.param |
| 101 | SHARE_FOLDER=${SHARE_FOLDER} |
| 102 | EOF |
| 103 | - trigger-builds: |
| 104 | - project: |
| 105 | - tf-a-builder |
| 106 | block: true |
| 107 | property-file: share.param |
| 108 | current-parameters: true |
| 109 | property-file-fail-on-missing: false |
| 110 | parameter-factories: |
| 111 | - factory: filebuild |
| 112 | file-pattern: '*.testprop' |
| 113 | no-files-found-action: FAIL |
Mark Dykes | 7c2661d | 2023-06-23 15:02:21 -0500 | [diff] [blame] | 114 | publishers: |
Chris Kay | 675db4f | 2025-06-24 14:14:34 +0100 | [diff] [blame] | 115 | - postbuildscript: |
| 116 | builders: |
| 117 | - role: SLAVE |
| 118 | build-on: |
| 119 | - SUCCESS |
| 120 | - FAILURE |
| 121 | - UNSTABLE |
| 122 | - ABORTED |
| 123 | - NOT_BUILT |
| 124 | build-steps: |
| 125 | - shell: |- |
| 126 | #!/bin/bash -e |
| 127 | export CI_ROOT=${PWD}/tf-a-ci-scripts |
| 128 | bash "$CI_ROOT/job/tf-ci-gateway/generate_report.sh" |
| 129 | - archive: |
| 130 | artifacts: report.json, report.html, merge/outdir/** |
| 131 | - groovy-postbuild: |
| 132 | script: !include-raw: |
| 133 | - tf-a-ci-gateway/postbuild.groovy |