- scm: name: tf-a-ci-scripts scm: - git: url: https://git.trustedfirmware.org/ci/tf-a-ci-scripts.git refspec: +refs/heads/master:refs/remotes/origin/master name: origin branches: - refs/heads/master basedir: tf-a-ci-scripts skip-tag: true shallow-clone: true wipe-workspace: false - scm: name: trusted-firmware-a scm: - git: url: https://review.trustedfirmware.org/${TF_GERRIT_PROJECT} refspec: ${TF_GERRIT_REFSPEC} name: origin branches: - ${TF_GERRIT_BRANCH} basedir: trusted-firmware-a skip-tag: true shallow-clone: false wipe-workspace: false - job: name: tf-main node: master project-type: multijob concurrent: true disabled: false description: Main CI job for Trusted Firmware. properties: - throttle: option: project enabled: true max-total: 5 - build-discarder: days-to-keep: 14 num-to-keep: 60 - authorization: !include: authorization.yaml.inc 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' scm: - tf-a-ci-scripts - trusted-firmware-a 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: | #!/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} 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} EOF - multijob: name: Run static checks on the code condition: COMPLETED projects: - name: tf-static-checks current-parameters: true kill-phase-on: NEVER property-file: tf-a-env.param - multijob: name: Build Trusted Firmware condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: | TEST_GROUPS=tf-l1-build-fvp tf-l2-build-fvp property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l1-build-juno tf-l2-build-juno property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l1-build-plat property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l1-build-clang property-file: tf-a-env.param - multijob: name: TFTF Tests condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tftf-l2-fwu property-file: tf-a-tests-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l1-juno tftf-l2-fvp-auxiliary property-file: tf-a-tests-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tftf-l2-fvp tftf-l2-fvp-dynamiq property-file: tf-a-tests-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tftf-l2-extensive-tests-fvp property-file: tf-a-tests-env.param - multijob: name: Boot up to the Linux shell prompt condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-foundation property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32 property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm property-file: tf-a-env.param - multijob: name: Boot up to the Linux shell prompt - Part 2 condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2 property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3 property-file: tf-a-env.param - multijob: name: Miscellaneous tests condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-spm-mm property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras property-file: tf-a-env.param - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc property-file: tf-a-env.param - multijob: name: Code coverage condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l3-code-coverage property-file: tf-a-env.param - multijob: name: Run doc build check condition: COMPLETED projects: - name: tf-ci-gateway current-parameters: true kill-phase-on: NEVER predefined-parameters: TEST_GROUPS=tf-l1-check-docs property-file: tf-a-env.param # Run the unstable TF-A Tests at the end but do not let their results # participate in the job's success/failure. - trigger-builds: - project: tf-ci-gateway same-node: True current-parameters: True property-file: tf-a-tests-env.param property-file-fail-on-missing: True predefined-parameters: TEST_GROUPS=tftf-unstable block: True block-thresholds: build-step-failure-threshold: never unstable-threshold: never failure-threshold: never # 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: bash "${WORKSPACE}/tf-a-ci-scripts/script/scratch_scripts/fast-forward-master.sh