blob: 967b946662b35cd2d8c32b61bbe47ad15c59a815 [file] [log] [blame]
- job:
name: tf-a-gerrit-tforg-l2
node: docker-amd64-tf-a-jammy
project-type: multijob
concurrent: true
disabled: false
description: |
Job that triggers for every TF-A patch approved with the Allow-CI+2
label on review.trustedfirmware.org.
properties:
- throttle:
option: project
enabled: true
max-total: 5
- build-discarder:
days-to-keep: 15
parameters:
- string:
name: GERRIT_PROJECT
default: TF-A/trusted-firmware-a
- string:
name: GERRIT_BRANCH
default: refs/heads/integration
- string:
name: GERRIT_REFSPEC
default: +refs/heads/integration:refs/remotes/origin/integration
- string:
name: GERRIT_PATCHSET_NUMBER
default: ""
- string:
name: GERRIT_CHANGE_NUMBER
default: ""
- string:
name: TF_GERRIT_REFSPEC
default: ${GERRIT_REFSPEC}
description: Parameter only used by the clone script
- string:
name: TFTF_GERRIT_PROJECT
default: TF-A/tf-a-tests
- string:
name: TFTF_GERRIT_BRANCH
default: refs/heads/master
- string:
name: TFTF_GERRIT_REFSPEC
default: +refs/heads/master:refs/remotes/origin/master
- string:
name: SPM_REFSPEC
default: +refs/heads/master:refs/remotes/origin/master
description: |
SPM(Hafnium) refspec to use. The master branch is used by default.
- string:
name: RMM_REFSPEC
default: +refs/heads/main:refs/remotes/origin/main
description: |
tf-rmm refspec to use. The main branch is used by default.
- string:
name: CI_REFSPEC
default: +refs/heads/master:refs/remotes/origin/master
- string:
name: JOBS_REFSPEC
default: refs/heads/master
description: |
tf-a-job-configs refspec to use. The master branch is used by default.
- string:
name: MBEDTLS_URL
default: https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.6.3.tar.gz
- string:
name: LAVA_RETRIES
default: 2
description: |
Number of tries submitting job to LAVA in case it fails (stopgap measure against nondeterministic failures)
- string:
name: SHARE_FOLDER
default: /srv/shared/${JOB_NAME}/${BUILD_NUMBER}
description: Folder containing shared repositories for downstream pipeline jobs
wrappers:
- credentials-binding:
- ssh-user-private-key:
credential-id: TFA_CI_BOT_USER_SSH_KEY
key-file-variable: CI_BOT_KEY
username-variable: CI_BOT_USERNAME
passphrase-variable: ""
- workspace-cleanup
- timestamps
builders:
- shell: !include-raw: scripts/clone.sh
- shell: |
#!/bin/bash
set -e
cat << EOF > env.param
GERRIT_PATCHSET_NUMBER=${GERRIT_PATCHSET_NUMBER}
GERRIT_CHANGE_NUMBER=${GERRIT_CHANGE_NUMBER}
GERRIT_HOST=${GERRIT_HOST}
QA_SERVER_PROJECT=${JOB_NAME}
QA_SERVER_VERSION=${BUILD_NUMBER}
TF_GERRIT_PROJECT=${GERRIT_PROJECT}
TF_GERRIT_BRANCH=${GERRIT_BRANCH}
TF_GERRIT_REFSPEC=${GERRIT_REFSPEC}
SHARE_FOLDER=${SHARE_FOLDER}
EOF
- multijob:
condition: COMPLETED
name: Carry out level 1 tests
projects:
- kill-phase-on: NEVER
name: tf-a-gerrit-tforg-l1
current-parameters: true
property-file: env.param
- multijob:
condition: COMPLETED
name: Build Trusted Firmware
projects:
- kill-phase-on: NEVER
name: tf-a-ci-gateway
current-parameters: true
predefined-parameters: |
TEST_GROUPS=tf-l2-build-fvp tf-l2-build-juno
TF_REFSPEC=$GERRIT_REFSPEC
property-file: env.param
- multijob:
condition: COMPLETED
name: Run platform boot tests
projects:
- kill-phase-on: NEVER
name: tf-a-ci-gateway
predefined-parameters: |
TEST_GROUPS=tf-l2-boot-tests-arm-plats tf-l2-boot-tests-partner-boards
TF_REFSPEC=$GERRIT_REFSPEC
property-file: env.param
- multijob:
condition: COMPLETED
name: TFTF tests
projects:
- kill-phase-on: NEVER
name: tf-a-ci-gateway
current-parameters: true
predefined-parameters: |
TEST_GROUPS=tftf-l1-fvp tftf-l1-juno tftf-l2-fvp-auxiliary tftf-l2-fvp-dynamiq tftf-l2-fwu tftf-l2-fvp
TF_REFSPEC=$GERRIT_REFSPEC
property-file: env.param
- multijob:
condition: COMPLETED
name: Boot up to the Linux shell prompt
projects:
- kill-phase-on: NEVER
name: tf-a-ci-gateway
current-parameters: true
predefined-parameters: |
TEST_GROUPS=tf-l2-boot-tests-aarch32 tf-l2-boot-tests-bl2_el3 tf-l2-boot-tests-cortex tf-l2-boot-tests-juno tf-l2-boot-tests-latest tf-l2-boot-tests-misc tf-l2-boot-tests-rootfs tf-l2-boot-tests-spm-mm spm-l2-boot-tests
TF_REFSPEC=$GERRIT_REFSPEC
property-file: env.param
- conditional-step:
condition-command: '[ "$NOMINATION_FILE" ]'
condition-kind: shell
on-evaluation-failure: dont-run
steps:
- multijob:
condition: COMPLETED
name: Nominated tests
projects:
- kill-phase-on: NEVER
name: tf-a-ci-gateway
current-parameters: true
predefined-parameters: |
TEST_GROUPS=@$NOMINATION_FILE
TF_REFSPEC=$GERRIT_REFSPEC
property-file: env.param
triggers:
- gerrit:
server-name: review.trustedfirmware.org
trigger-on:
- comment-added-event:
approval-category: Allow-CI
approval-value: 2
projects:
- project-compare-type: PLAIN
project-pattern: TF-A/trusted-firmware-a
branches:
- branch-compare-type: PLAIN
branch-pattern: integration
override-votes: true
gerrit-build-started-verified-value: 0
gerrit-build-successful-verified-value: 1
gerrit-build-failed-verified-value: -1
gerrit-build-unstable-verified-value: -1
gerrit-build-notbuilt-verified-value: 0
gerrit-build-started-codereview-value: 0
gerrit-build-successful-codereview-value: 0
gerrit-build-failed-codereview-value: 0
gerrit-build-unstable-codereview-value: 0
gerrit-build-notbuilt-codereview-value: 0
failure-message: 'OpenCI: build failed'
successful-message: 'OpenCI: build successful'
unstable-message: 'OpenCI: build unstable'
notbuilt-message: 'OpenCI: no builds executed'
silent: false
silent-start: false