blob: 8787a3083cec434f226ba26dcb5bb567e5a0cbd2 [file] [log] [blame]
- job:
name: arthur-tf-a-main
node: docker-amd64-tf-a-jammy
project-type: multijob
concurrent: true
disabled: false
description: Main CI job for Trusted Firmware.
properties:
- throttle:
option: project
enabled: true
max-total: 10
- build-discarder:
days-to-keep: 14
num-to-keep: 60
parameters:
- string:
name: TF_GERRIT_PROJECT
default: 'TF-A/trusted-firmware-a'
- string:
name: TF_GERRIT_BRANCH
default: 'refs/heads/integration'
- string:
name: TF_GERRIT_REFSPEC
default: '+refs/heads/integration:refs/remotes/origin/integration'
- 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: CI_GERRIT_PROJECT
default: 'people/arthur.she/tf-a-ci-scripts.git'
- string:
name: CI_REFSPEC
default: '+refs/heads/master:refs/remotes/origin/master'
- string:
name: JOBS_PROJECT
default: 'next/ci/tf-a-job-configs.git'
- string:
name: JOBS_REFSPEC
default: 'refs/heads/master'
- string:
name: SHARE_FOLDER
default: '/srv/shared/staging/${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: arthur-scripts/clone.sh
- shell: |
#!/bin/bash
set -e
cat << EOF > tf-a-env.param
GERRIT_PROJECT=${TF_GERRIT_PROJECT}
GERRIT_BRANCH=${TF_GERRIT_BRANCH}
GERRIT_REFSPEC=${TF_GERRIT_REFSPEC}
QA_SERVER_PROJECT=${JOB_NAME}
QA_SERVER_VERSION=${BUILD_NUMBER}
SHARE_FOLDER=${SHARE_FOLDER}
EOF
cat << EOF > tf-a-tests-env.param
GERRIT_PROJECT=${TFTF_GERRIT_PROJECT}
GERRIT_BRANCH=${TFTF_GERRIT_BRANCH}
GERRIT_REFSPEC=${TFTF_GERRIT_REFSPEC}
QA_SERVER_PROJECT=${JOB_NAME}
QA_SERVER_VERSION=${BUILD_NUMBER}
SHARE_FOLDER=${SHARE_FOLDER}
EOF
- conditional-step:
condition-kind: shell
condition-command: "exit 1"
steps:
- multijob:
name: Build Trusted Firmware
condition: COMPLETED
projects:
- name: arthur-tf-a-ci-gateway
current-parameters: true
kill-phase-on: NEVER
predefined-parameters: |
TEST_GROUPS=tf-l1-build-plat
property-file: tf-a-env.param
- multijob:
name: Miscellaneous tests
condition: COMPLETED
projects:
- name: arthur-tf-a-ci-gateway
current-parameters: true
kill-phase-on: NEVER
predefined-parameters: TEST_GROUPS=tf-l1-boot-tests-plat
property-file: tf-a-env.param
# If all tests passed, catch up the master branch with integration
- conditional-step:
condition-kind: current-status
condition-best: SUCCESS
condition-worst: SUCCESS
steps:
- shell: |
echo "Build success, fast forward to master!!"