Add TF-A LTS 2.12 jobs
Change-Id: Ida9a5b3b3cfc2e28244be41b03d78ae59cabeb44
Signed-off-by: Arthur She <arthur.she@linaro.org>
diff --git a/tf-a-lts2.12-main.yaml b/tf-a-lts2.12-main.yaml
new file mode 100644
index 0000000..250ead8
--- /dev/null
+++ b/tf-a-lts2.12-main.yaml
@@ -0,0 +1,376 @@
+- job:
+ name: tf-a-lts2.12-main
+ node: docker-amd64-tf-a-lts2.12-jammy
+ project-type: multijob
+ concurrent: true
+ disabled: false
+ description: Main CI job for Trusted Firmware A LTS v2.12.
+ properties:
+ - throttle:
+ option: project
+ enabled: true
+ max-total: 5
+ - build-discarder:
+ days-to-keep: 60
+ num-to-keep: 30
+ parameters:
+ - string:
+ name: TF_GERRIT_PROJECT
+ default: 'TF-A/trusted-firmware-a'
+ - string:
+ name: TF_GERRIT_BRANCH
+ default: 'refs/heads/lts-v2.12'
+ - string:
+ name: TF_GERRIT_REFSPEC
+ default: '+refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12'
+ - string:
+ name: TFTF_GERRIT_PROJECT
+ default: 'TF-A/tf-a-tests'
+ - string:
+ name: TFTF_GERRIT_BRANCH
+ default: 'refs/heads/lts-v2.12'
+ - string:
+ name: TFTF_GERRIT_REFSPEC
+ default: '+refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12'
+ - string:
+ name: TF_M_TESTS_GERRIT_REFSPEC
+ default: '53ddc58dcd57e1f5cf658b316d7d735335d58570'
+ description: |
+ tf-m-tests refspec to use. The tfa_ci_dep_revision branch is used by default.
+ - string:
+ name: TF_M_EXTRAS_GERRIT_REFSPEC
+ default: '3ff04e40ff7f66c8cee087b6e5cbd8fb8c1bec01'
+ description: |
+ tf-m-extras refspec to use. The tfs_ci_dep_revision branch is used by default.
+ - string:
+ name: SPM_REFSPEC
+ default: 'lts-v2.12'
+ description: |
+ SPM(Hafnium) refspec to use. The lts-v2.12 branch is used by default.
+ - string:
+ name: CI_REFSPEC
+ default: '+refs/heads/lts-v2.12:refs/remotes/origin/lts-v2.12'
+ - 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.2.tar.gz'
+ - bool:
+ name: FORCE_TO_BUILD
+ default: false
+ description: |
+ If there are no new commits in trusted-firmware-a tf-a-tests, or tf-a-ci-scripts the build will be sikpped.
+ However, you can always force to run the build
+ - 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: USE_TUXSUITE_FVP
+ default: 1
+ description: |
+ Whether to submit FVP tests via TuxSuite (instead of LAVA)
+ - string:
+ name: SHARE_FOLDER
+ default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
+ description: 'Folder containing shared repositories for downstream pipeline jobs'
+ triggers:
+ - timed: 'H H(0-7) * * 1,3,5'
+ 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 > 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
+ - shell:
+ !include-raw: scripts/lts-check-last-commit.sh
+ - conditional-step:
+ condition-kind: file-exists
+ condition-filename: TO_BUILD
+ condition-basedir: workspace
+ steps:
+ - multijob:
+ name: Run static checks on the code
+ condition: COMPLETED
+ projects:
+ - name: tf-a-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-a-lts2.12-ci-gateway
+ alias: tf-l1-build-fvp tf-l2-build-fvp
+ 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-a-lts2.12-ci-gateway
+ alias: tf-l1-build-juno tf-l2-build-juno
+ 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-a-lts2.12-ci-gateway
+ alias: tf-l1-build-plat
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l1-build-plat
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l1-build-clang
+ 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 for FVP
+ condition: COMPLETED
+ projects:
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tftf-l2-fwu
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tftf-l2-fwu
+ property-file: tf-a-tests-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tftf-l1-fvp tftf-l2-fvp-auxiliary
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tftf-l1-fvp tftf-l2-fvp-auxiliary
+ property-file: tf-a-tests-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tftf-l2-fvp tftf-l2-fvp-dynamiq
+ 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-a-lts2.12-ci-gateway
+ alias: tftf-l2-extensive-tests-fvp
+ 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-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-aarch32
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-aarch32
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-rootfs
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-rootfs
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-spm-mm
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-spm-mm
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: spm-l2-boot-tests
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=spm-l2-boot-tests
+ property-file: tf-a-env.param
+ - multijob:
+ name: Boot up to the Linux shell prompt - Part 2
+ condition: COMPLETED
+ projects:
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-misc
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-misc
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-latest
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-latest
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-cortex
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-cortex
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-gicv2
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-gicv2
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-bl2_el3
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-bl2_el3
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: qemu-boot-tests
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=qemu-boot-tests
+ property-file: tf-a-env.param
+ - multijob:
+ name: Juno Boot Tests
+ condition: COMPLETED
+ projects:
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-juno
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-juno
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tftf-l1-juno
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tftf-l1-juno
+ property-file: tf-a-env.param
+ - multijob:
+ name: Miscellaneous tests
+ condition: COMPLETED
+ projects:
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l3-boot-tests-css
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-css
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l3-boot-tests-spm-mm
+ 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-a-lts2.12-ci-gateway
+ alias: tf-l3-boot-tests-ras
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-ras
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l3-boot-tests-misc
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-misc
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l3-boot-tests-n1sdp
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l3-boot-tests-n1sdp
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: spm-l3-boot-tests
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=spm-l3-boot-tests
+ property-file: tf-a-env.param
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-partner-boards
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-partner-boards
+ property-file: tf-a-env.param
+ # Platform-specific self-tests.
+ # These tests run from the BL31 image then halt the target.
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l2-boot-tests-arm-plats
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l2-boot-tests-arm-plats
+ property-file: tf-a-env.param
+ - multijob:
+ name: Run doc build check
+ condition: COMPLETED
+ projects:
+ - name: tf-a-lts2.12-ci-gateway
+ alias: tf-l1-check-docs
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TEST_GROUPS=tf-l1-check-docs
+ property-file: tf-a-env.param
+ - multijob:
+ name: Generate visualizations
+ condition: COMPLETED
+ projects:
+ - name: tf-a-sloc-visualization
+ current-parameters: true
+ kill-phase-on: NEVER
+ property-file: tf-a-env.param
+ - name: tf-a-test-category-visualization
+ current-parameters: true
+ kill-phase-on: NEVER
+ property-file: tf-a-env.param
+ - name: tf-a-test-result-visualization
+ current-parameters: true
+ kill-phase-on: NEVER
+ predefined-parameters: TARGET_BUILD=${JOB_NAME}/${BUILD_NUMBER}
+ 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-a-lts2.12-ci-gateway
+ 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
+ publishers:
+ - conditional-publisher:
+ - condition-kind: shell
+ condition-command: |
+ ! test -f ${WORKSPACE}/TO_BUILD
+ action:
+ - groovy-postbuild:
+ script: |
+ def currentBuild = Thread.currentThread().executable
+ currentBuild.setDescription("There are no new commits in the repositories, skip the build!")
+ on-failure: "nothing"
+ - email:
+ recipients: bipin.ravi@arm.com, vwadekar@nvidia.com, yann.gautier@st.com, palmer@google.com, govindraj.raja@arm.com