#-------------------------------------------------------------------------------
# Copyright (c) 2020-2024, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
#-------------------------------------------------------------------------------

- job:
    name: tf-m-release
    description: 'Build that triggers manually to build many configurations for release.'
    project-type: pipeline
    disabled: false
    sandbox: true
    concurrent: true
    triggers:
      - timed: 'H 0 8-14,22-28 * 0'
    properties:
      - build-discarder:
          days-to-keep: 30
          num-to-keep: 20
    parameters:
      - string:
          name: 'FILTER_GROUP'
          default: "release_test release_profile_s release_profile_m release_profile_m_arotless \
                    release_profile_l release_cc_driver_psa release_fp release_psa_api \
                    release_ipc_backend release_nsce release_mmio release_cs300_an547 release_cs300_an552 \
                    release_cs300_fvp release_corstone310 release_corstone315 release_rse release_psoc64 \
                    release_lpcxpresso55s69 release_b_u585i_iot02a release_stm32h573i_dk"
          description: |
            Filter to a group of configurations as recognised by configs.py
      - string:
          name: 'CODE_REPO'
          default: 'https://review.trustedfirmware.org/TF-M/trusted-firmware-m'
      - string:
          name: 'CI_SCRIPTS_REPO'
          default: 'https://review.trustedfirmware.org/ci/tf-m-ci-scripts'
      - string:
          name: 'CI_SCRIPTS_BRANCH'
          default: 'master'
      - string:
          name: 'GERRIT_REFSPEC'
          default: 'refs/heads/main'
          description: |
            For use when triggering with specified tag or master 'refs/heads/main' or 'refs/tags/TF-Mv1.0'.
      - string:
          name: 'GERRIT_BRANCH'
          default: 'main'
          description: |
            TF-M branch.
      - string:
          name: 'GERRIT_HOST'
          description: |
            No need to change.
      - string:
          name: 'GERRIT_CHANGE_NUMBER'
          description: |
            No need to change.
      - string:
          name: 'GERRIT_PATCHSET_REVISION'
          description: |
            No need to change.
      - string:
          name: 'MBEDTLS_VERSION'
          default: ''
          description: |
            Specify which MBEDTLS version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: 'MBEDTLS_URL'
          default: 'https://git.trustedfirmware.org/mirror/mbed-tls.git'
      - string:
          name: 'LAVA_URL'
          default: 'https://tf.validation.linaro.org'
      - string:
          name: 'CODE_COVERAGE_EN'
          default: 'FALSE'
      - string:
          name: 'LAVA_CREDENTIALS'
          default: 'LAVA_CREDENTIALS'
          description: "Name of Jenkins credential for authentication with LAVA."
      - string:
          name: 'EMAIL_NOTIFICATION'
          default: 'matthew.dalzell@arm.com, anton.komlev@arm.com, antonio.deangelis@arm.com'
          description: |
            Send email notification when test failed.
      - string:
          name: 'MCUBOOT_REFSPEC'
          default: ''
          description: |
            Specify which MCUboot version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: 'MCUBOOT_URL'
          default: 'https://git.trustedfirmware.org/mirror/mcuboot.git'
      - string:
          name: 'TFM_TESTS_URL'
          default: 'https://git.trustedfirmware.org/TF-M/tf-m-tests.git'
      - string:
          name: 'TFM_TESTS_REFSPEC'
          default: ''
          description: |
            Specify which tf-m-tests version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: 'TFM_EXTRAS_URL'
          default: 'https://review.trustedfirmware.org/TF-M/tf-m-extras.git'
      - string:
          name: 'TFM_EXTRAS_REFSPEC'
          default: ''
          description: |
            Specify which tf-m-extras version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: 'PSA_ARCH_TESTS_URL'
          default: 'https://git.trustedfirmware.org/mirror/psa-arch-tests.git'
      - string:
          name: 'PSA_ARCH_TESTS_VERSION'
          default: ''
          description: |
            Specify which psa-arch-tests version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: 'QCBOR_URL'
          default: 'https://github.com/laurencelundblade/QCBOR.git'
      - string:
          name: 'QCBOR_VERSION'
          default: ''
          description: |
            Specify which QCBOR version to use
            refs/heads/<branch_name> : Pick up latest HEAD on branch
            TAG_NAME                 : Pick up a tagged version
            full commit hash         : Pick up a specific commit
      - string:
          name: SHARE_FOLDER
          default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
          description: 'Folder containing shared repositories for downstream pipeline jobs'
    wrappers:
        - timestamps
    pipeline-scm:
      scm:
        - git:
            url: '$CI_SCRIPTS_REPO'
            branches:
            - '$CI_SCRIPTS_BRANCH'
            credentials-id: GIT_SSH_KEY
            wipe-workspace: false
      script-path: jenkins/ci.jpl
