refactor: move LAVA job definition templates into independent files
This change introduces a new script function to expand the variables in
a file. With this, we can move the LAVA YAML job template descriptions,
which are currently embedded inside individual HEREDOCs, into their own
files.
Signed-off-by: Chris Kay <chris.kay@arm.com>
Change-Id: I09805ab4b6894a371e63a944d113ca2f475a806b
diff --git a/script/lava-templates/fvp-linux.yaml b/script/lava-templates/fvp-linux.yaml
new file mode 100644
index 0000000..ab1c64a
--- /dev/null
+++ b/script/lava-templates/fvp-linux.yaml
@@ -0,0 +1,133 @@
+metadata:
+ test_config: {TEST_CONFIG}
+ fvp_model: {MODEL}
+ build_url: ${BUILD_URL}
+${gerrit_meta}
+
+device_type: fvp
+job_name: fvp-linux-{TEST_CONFIG}
+
+timeouts:
+ connection:
+ seconds: 10
+ job:
+ minutes: 30
+ action:
+ minutes: 20
+ actions:
+ auto-login-action:
+ minutes: 5
+ lava-test-monitor:
+ minutes: 5
+ lava-test-interactive:
+ minutes: 15
+ lava-test-shell:
+ seconds: 300
+ http-download:
+ minutes: 2
+ download-retry:
+ minutes: 2
+ fvp-deploy:
+ minutes: 5
+
+priority: medium
+visibility: public
+
+actions:
+- deploy:
+ to: fvp
+ images:
+ backup_fip:
+ url: {BACKUP_FIP}
+ bl1:
+ url: {BL1}
+ bl2:
+ url: {BL2}
+ bl31:
+ url: {BL31}
+ bl32:
+ url: {BL32}
+ busybox:
+ url: {BUSYBOX}
+ compression: gz
+ cactus_primary:
+ url: {CACTUS_PRIMARY}
+ cactus_secondary:
+ url: {CACTUS_SECONDARY}
+ cactus_tertiary:
+ url: {CACTUS_TERTIARY}
+ coverage_trace_plugin:
+ url: {COVERAGE_TRACE_PLUGIN}
+ dtb:
+ url: {DTB}
+ el3_payload:
+ url: {EL3_PAYLOAD}
+ fvp_spmc_manifest_dtb:
+ url: {FVP_SPMC_MANIFEST_DTB}
+ fip:
+ url: {FIP}
+ fip_gpt:
+ url: {FIP_GPT}
+ fwu_fip:
+ url: {FWU_FIP}
+ generic_trace:
+ url: {GENERIC_TRACE}
+ hafnium:
+ url: {HAFNIUM}
+ image:
+ url: {IMAGE}
+ ivy:
+ url: {IVY}
+ manifest_dtb:
+ url: {MANIFEST_DTB}
+ mcp_rom:
+ url: {MCP_ROM}
+ mcp_rom_hyphen:
+ url: {MCP_ROM_HYPHEN}
+ ns_bl1u:
+ url: {NS_BL1U}
+ ns_bl2u:
+ url: {NS_BL2U}
+ ramdisk:
+ url: {RAMDISK}
+ romlib:
+ url: {ROMLIB}
+ rootfs:
+ url: {ROOTFS}
+ compression: gz
+ secure_hafnium:
+ url: {SECURE_HAFNIUM}
+ scp_ram:
+ url: {SCP_RAM}
+ scp_ram_hyphen:
+ url: {SCP_RAM_HYPHEN}
+ scp_rom:
+ url: {SCP_ROM}
+ scp_rom_hyphen:
+ url: {SCP_ROM_HYPHEN}
+ spm:
+ url: {SPM}
+ tftf:
+ url: {TFTF}
+ tmp:
+ url: {TMP}
+ uboot:
+ url: {UBOOT}
+
+- boot:
+ method: fvp
+ license_variable: ARMLMD_LICENSE_FILE={ARMLMD_LICENSE_FILE}
+ docker:
+ name: {BOOT_DOCKER_NAME}
+ local: true
+ image: {BOOT_IMAGE_DIR}/{BOOT_IMAGE_BIN}
+ version_string: {BOOT_VERSION_STRING}
+ console_string: 'terminal_0: Listening for serial connection on port (?P<PORT>\d+)'
+ feedbacks:
+ - '(?P<NAME>terminal_1): Listening for serial connection on port (?P<PORT>\d+)'
+ - '(?P<NAME>terminal_2): Listening for serial connection on port (?P<PORT>\d+)'
+ - '(?P<NAME>terminal_3): Listening for serial connection on port (?P<PORT>\d+)'
+ timeout:
+ minutes: 30
+ arguments:
+{BOOT_ARGUMENTS}