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

- job:
    name: tf-m-build-and-test
    description: 'This job is triggered by gerrit for TF-M code reviews.'
    project-type: pipeline
    disabled: false
    sandbox: true
    concurrent: true
    properties:
      - build-discarder:
          days-to-keep: 15
          num-to-keep: 45
      - throttle:
          max-total: 5
          option: project
    # Will be triggered from tf-m-static-checks or can be triggered manually
    #triggers: []
    parameters:
      - string:
          name: 'FILTER_GROUP'
          default: 'pp_test'
          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://git.trustedfirmware.org/ci/tf-m-ci-scripts'
      - string:
          name: 'CI_SCRIPTS_BRANCH'
          default: 'master'
      - string:
          name: 'GERRIT_REFSPEC'
          default: 'refs/heads/main'
          description: |
            Specify which TF-M 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: '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: 'MCUBOOT_URL'
          default: 'https://git.trustedfirmware.org/mirror/mcuboot.git'
      - 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: '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://git.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: '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: SHARE_FOLDER
          default: '/srv/shared/${JOB_NAME}/${BUILD_NUMBER}'
          description: 'Folder containing shared repositories for downstream pipeline jobs'
      - string:
          name: 'DEVICE_FILTER'
          default: ''
          description: |
            Parameter to lava_create_jobs.py to filter by device type (e.g. --fvp-only or --physical-board-only)
      - string:
          name: USE_TUXSUITE_FVP
          default: 1
          description: |
            Whether to submit FVP tests via TuxSuite (instead of LAVA)
    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
