blob: 31fac79a757424bbad51c5d81c1b9fd83d32dc27 [file] [log] [blame]
Leonardo Sandoval9dfdd1b2020-08-06 17:08:11 -05001#!/usr/bin/env bash
Zelalem1af7a7b2020-08-04 17:34:32 -05002#
Joel Goddarddab56662021-03-15 15:14:27 +00003# Copyright (c) 2021, Arm Limited. All rights reserved.
Zelalem1af7a7b2020-08-04 17:34:32 -05004#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7
8# Generate a YAML file in order to dispatch Juno runs on LAVA. Note that this
9# script would produce a meaningful output when run via Jenkins
10#
11# This is used exclusively to run a SCMI conformance test for SCP-Firmware on
12# Juno.
13
14ci_root="$(readlink -f "$(dirname "$0")/..")"
15source "$ci_root/utils.sh"
16source "$ci_root/juno_utils.sh"
17
18get_recovery_image_url() {
19 local build_job="tf-build"
20 local bin_mode="debug"
21
22 if upon "$jenkins_run"; then
23 echo "$jenkins_url/job/$JOB_NAME/$BUILD_NUMBER/artifact/artefacts/$bin_mode/juno_recovery.zip"
24 else
25 echo "file://$workspace/artefacts/$bin_mode/juno_recovery.zip"
26 fi
27}
28
Zelalem1af7a7b2020-08-04 17:34:32 -050029recovery_img_url="${recovery_img_url:-$(get_recovery_image_url)}"
30
Manish Pandey7719a382020-09-07 12:30:18 +010031# Allow running juno tests on specific revision(r0/r1/r2).
32juno_revision="${juno_revision:-}"
33if [ ! -z "$juno_revision" ]; then
34 tags="tags:"
35 juno_revision="- ${juno_revision}"
36else
37 tags=""
38fi
39
Zelalem1af7a7b2020-08-04 17:34:32 -050040cat <<EOF
41device_type: juno
42job_name: scp-tests-scmi-juno
43
Manish Pandey7719a382020-09-07 12:30:18 +010044$tags
45$juno_revision
Zelalem1af7a7b2020-08-04 17:34:32 -050046
47timeouts:
48 # Global timeout value for the whole job.
49 job:
50 minutes: 10
51 actions:
52 lava-test-monitor:
53 seconds: 180
54 connections:
55 lava-test-monitor:
56 seconds: 180
57
58priority: medium
59visibility: public
60
61actions:
62
63- deploy:
64 timeout:
65 minutes: 5
66 to: vemsd
67 recovery_image:
68 url: $recovery_img_url
69 compression: zip
70
71- boot:
72 method: minimal
73
74- test:
75 timeout:
76 minutes: 8
77
78 monitors:
79 #
80 # Monitor no.1
Joel Goddarddab56662021-03-15 15:14:27 +000081 # Monitor the results from all the protocols
Zelalem1af7a7b2020-08-04 17:34:32 -050082 #
Joel Goddarddab56662021-03-15 15:14:27 +000083 - name: SCP-SCMI-ALL-PROTOCOL
Zelalem1af7a7b2020-08-04 17:34:32 -050084 start: 'BL31: Baremetal test suite: scmi'
Joel Goddarddab56662021-03-15 15:14:27 +000085 end: '\*\*\*\* SCMI tests complete \*\*\*\*'
Zelalem1af7a7b2020-08-04 17:34:32 -050086
Joel Goddarddab56662021-03-15 15:14:27 +000087 pattern: '(?P<test_case_id>\d{3}):[\w ]+[\w\n\r[\] :<>&=]*?: (?P<result>CONFORMANT|NON CONFORMANT|SKIPPED)'
Zelalem1af7a7b2020-08-04 17:34:32 -050088
89 fixupdict:
90 "CONFORMANT": pass
91 "NON CONFORMANT": fail
Joel Goddarddab56662021-03-15 15:14:27 +000092 "SKIPPED": skip
Zelalem1af7a7b2020-08-04 17:34:32 -050093
94
95EOF