metadata:
    name: workload-automation-linux
    format: "Lava-Test Test Definition 1.0"
    description: "Workload Automation on Linux"
    maintainer:
        - milosz.wasilewski@linaro.org
        - chase.qi@linaro.org
    os:
        - debian
        - ubuntu
        - centos
        - fedora
    devices:
        - juno
        - hi6220-hikey
        - apq8016-sbc
        - x15
    scope:
        - performance

params:
    SKIP_INSTALL: "false"
    SKIP_UPGRADE_PIP_SETUPTOOLS: "false"
    # Params for WA test run.
    WA_TAG: "v2.7.0"
    WA_GIT_REPO: "https://github.com/ARM-software/workload-automation"
    # Install devlib, which is WA depenency
    DEVLIB_REPO: "https://github.com/ARM-software/devlib.git"
    DEVLIB_TAG: "v1.1.2"
    WA_TEMPLATES_REPO: "https://git.linaro.org/qa/wa2-lava.git"
    TEMPLATES_BRANCH: "wa-templates"
    CONFIG: "config/generic-linux-localhost.py"
    AGENDA: "agenda/linux-dhrystone.yaml"
    # allow extra extenstions for WA
    WA_EXTENSION_PATHS: ""
    # directory where the WA results are stored
    # defaults to {TEST_DIR}/output
    OUTPUT: ""
    # Specify url and token for publishing artifacts.
    # For safety reasons, please set 'ARTIFACTORIAL_TOKEN' variable in job definition with
    # 'secrets' dictionary, and set job visibility to personal or group.
    # Refer to https://validation.linaro.org/static/docs/v2/publishing-artifacts.html
    ARTIFACTORIAL_URL: "https://archive.validation.linaro.org/artifacts/team/qa/"
    ARTIFACTORIAL_TOKEN: ""

run:
    steps:
        - export WA_EXTENSION_PATHS=$WA_EXTENSION_PATHS
        - cd ./automated/linux/workload-automation
        - echo ${OUTPUT}
        - if [ -z "${OUTPUT}" ]; then OUTPUT="./output"; fi
        - echo ${OUTPUT}
        # Test run.
        - ./workload-automation.sh -s "${SKIP_INSTALL}" -u "${SKIP_UPGRADE_PIP_SETUPTOOLS}" -t "${WA_TAG}" -r "${WA_TEMPLATES_REPO}" -T "${TEMPLATES_BRANCH}" -c "${CONFIG}" -a "${AGENDA}" -R "${WA_GIT_REPO}" -d "${DEVLIB_REPO}" -D "${DEVLIB_TAG}" -o "${OUTPUT}"
        # Upload test output to artifactorial.
        - tar caf "wa-output.tar.xz" "${OUTPUT}"
        - ../../utils/upload-to-artifactorial.sh -a "wa-output.tar.xz" -u "${ARTIFACTORIAL_URL}" -t "${ARTIFACTORIAL_TOKEN}"
        # Send test result to LAVA.
        - ../../utils/send-to-lava.sh "${OUTPUT}/result.txt"
