blob: 3ee6c2d4597f0751f6f641b2fa00f9b5125ebee4 [file] [log] [blame]
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +01001#!/usr/bin/env python3
2
3""" builtin_configs.py:
4
5 Default configuration files used as reference """
6
7from __future__ import print_function
8
9__copyright__ = """
10/*
Raef Coles61b43a42022-01-12 11:42:57 +000011 * Copyright (c) 2018-2022, Arm Limited. All rights reserved.
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010012 *
13 * SPDX-License-Identifier: BSD-3-Clause
14 *
15 */
16 """
Karl Zhang08681e62020-10-30 13:56:03 +080017
18__author__ = "tf-m@lists.trustedfirmware.org"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010019__project__ = "Trusted Firmware-M Open CI"
Xinyu Zhang06286a92021-07-22 14:00:51 +080020__version__ = "1.4.0"
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +010021
Paul Sokolovsky3e8fce02022-04-07 01:23:30 +030022from copy import deepcopy
23
24
Minos Galanakisea421232019-06-20 17:11:28 +010025# common parameters for tf-m build system
26# This configuration template will be passed into the tfm-builder module after
27# the template evaluation is converted to a command
28
29_common_tfm_builder_cfg = {
30 "config_type": "tf-m",
31 "codebase_root_dir": "tf-m",
32 # Order to which the variants are evaluated. This affects the name of
33 # variant configuration and the wildcard replacement logic in invalid
34 # configuration tuples
Xinyu Zhangb708f572020-09-15 11:43:46 +080035 "sort_order": ["tfm_platform",
Xinyu Zhang433771e2022-04-01 16:49:17 +080036 "compiler",
Xinyu Zhang73ed2992021-09-15 11:38:23 +080037 "lib_model",
Xinyu Zhangb708f572020-09-15 11:43:46 +080038 "isolation_level",
39 "test_regression",
40 "test_psa_api",
Minos Galanakisea421232019-06-20 17:11:28 +010041 "cmake_build_type",
Xinyu Zhangb708f572020-09-15 11:43:46 +080042 "with_bl2",
Xinyu Zhang9fd74242020-10-22 11:30:50 +080043 "profile",
Xinyu Zhangfd2e1152021-12-17 18:09:01 +080044 "extra_params"],
Minos Galanakisea421232019-06-20 17:11:28 +010045
46 # Keys for the templace will come from the combinations of parameters
47 # provided in the seed dictionary.
48
Xinyu Zhangf3e19482022-01-11 15:48:13 +080049 "config_template": "cmake -G Ninja " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080050 "-DTFM_PLATFORM=%(tfm_platform)s " + \
Xinyu Zhang433771e2022-04-01 16:49:17 +080051 "-DTFM_TOOLCHAIN_FILE=%(codebase_root_dir)s/%(compiler)s " + \
Xinyu Zhang73ed2992021-09-15 11:38:23 +080052 "-DTFM_LIB_MODEL=%(lib_model)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080053 "-DTFM_ISOLATION_LEVEL=%(isolation_level)s " + \
54 "-DTEST_NS=%(test_regression)s -DTEST_S=%(test_regression)s " + \
Raef Coles61b43a42022-01-12 11:42:57 +000055 "-DTEST_BL2=%(test_regression)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080056 "-DCMAKE_BUILD_TYPE=%(cmake_build_type)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080057 "-DTEST_PSA_API=%(test_psa_api)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080058 "-DBL2=%(with_bl2)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080059 "-DTFM_PROFILE=%(profile)s " + \
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +080060 "%(extra_params)s " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080061 "-DTFM_TEST_REPO_PATH=%(codebase_root_dir)s/../tf-m-tests " + \
62 "-DMBEDCRYPTO_PATH=%(codebase_root_dir)s/../mbedtls " + \
63 "-DPSA_ARCH_TESTS_PATH=%(codebase_root_dir)s/../psa-arch-tests " + \
64 "-DMCUBOOT_PATH=%(codebase_root_dir)s/../mcuboot " + \
Xinyu Zhangb708f572020-09-15 11:43:46 +080065 "%(codebase_root_dir)s",
Karl Zhangaff558a2020-05-15 14:28:23 +010066
Xinyu Zhang433771e2022-04-01 16:49:17 +080067 "set_compiler_path": "export PATH=$PATH:$%(compiler)s_PATH",
68
Minos Galanakisea421232019-06-20 17:11:28 +010069 # A small subset of string substitution params is allowed in commands.
70 # tfm_build_manager will replace %(_tbm_build_dir_)s, %(_tbm_code_dir_)s,
71 # _tbm_target_platform_ with the paths set when building
72
Xinyu Zhangb708f572020-09-15 11:43:46 +080073 "artifact_capture_rex": (r'%(_tbm_build_dir_)s/bin'
Minos Galanakisea421232019-06-20 17:11:28 +010074 r'/(\w+\.(?:axf|bin|hex))$'),
75
76 # ALL commands will be executed for every build.
77 # Other keys will append extra commands when matching target_platform
Fathi Boudra83e4f292020-12-04 22:33:40 +010078 "build_cmds": {"all": ["cmake --build ./ -- install"],
Mark Horvathef57baa2022-09-12 13:36:36 +020079 "arm/musca_b1": [("srec_cat "
80 "%(_tbm_build_dir_)s/bin/"
81 "bl2.bin "
82 "-Binary -offset 0xA000000 "
83 "-fill 0xFF 0xA000000 0xA020000 "
84 "%(_tbm_build_dir_)s/bin/"
85 "tfm_s_ns_signed.bin "
86 "-Binary -offset 0xA020000 "
87 "-fill 0xFF 0xA020000 0xA200000 "
88 "-o %(_tbm_build_dir_)s/bin/"
89 "tfm.hex -Intel")],
Satish Kumar1cfdd912022-08-01 09:24:07 +010090 "arm/corstone1000": [("cat "
91 "%(_tbm_build_dir_)s/bin/"
92 "bl2_signed.bin "
93 "%(_tbm_build_dir_)s/bin/"
94 "bl2_signed.bin "
95 "%(_tbm_build_dir_)s/bin/"
96 "tfm_s_signed.bin "
97 "%(_tbm_build_dir_)s/bin/"
98 "tfm_s_signed.bin "
99 "> "
100 "%(_tbm_build_dir_)s/bin/"
101 "flash.bin")],
Summer Qin3c2b5722021-05-26 10:43:45 +0800102 "arm/musca_s1": [("srec_cat "
Xinyu Zhangb708f572020-09-15 11:43:46 +0800103 "%(_tbm_build_dir_)s/bin/"
104 "bl2.bin "
Karl Zhangeffed972020-06-30 15:48:01 +0800105 "-Binary -offset 0xA000000 "
Raef Coles543aab32020-12-03 11:12:02 +0000106 "-fill 0xFF 0xA000000 0xA020000 "
Xinyu Zhangb708f572020-09-15 11:43:46 +0800107 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800108 "tfm_s_ns_signed.bin "
Raef Coles543aab32020-12-03 11:12:02 +0000109 "-Binary -offset 0xA020000 "
110 "-fill 0xFF 0xA020000 0xA200000 "
111 "-o %(_tbm_build_dir_)s/bin/"
Arthur She19c0e1a2021-06-02 11:06:19 -0700112 "tfm.hex -Intel")],
113 "stm/stm32l562e_dk": [("echo 'STM32L562E-DK board post process';"
114 "%(_tbm_build_dir_)s/postbuild.sh;"
115 "pushd %(_tbm_build_dir_)s;"
Arthur She07c91b52021-07-15 15:03:10 -0700116 "BIN_FILES=$(grep -o '\/.*\.bin' TFM_UPDATE.sh | sed 's/^/bin/');"
117 "tar jcf ./bin/stm32l562e-dk-tfm.tar.bz2 regression.sh TFM_UPDATE.sh ${BIN_FILES};"
Arthur She3c0dadd2021-11-18 21:17:48 -0800118 "popd")],
119 "nxp/lpcxpresso55s69": [("echo 'LPCXpresso55S69 board post process\n';"
120 "if [ -f \"%(_tbm_build_dir_)s/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
121 "pushd %(_tbm_build_dir_)s/../platform/ext/target/nxp/lpcxpresso55s69/scripts;"
122 "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
123 "sed -i \"${LN}s/.*/ print('flash.jlink generated')/\" ${FLASH_FILE};"
124 "python3 ./${FLASH_FILE};"
125 "cd %(_tbm_build_dir_)s/bin;"
126 "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
127 "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
Arthur She87602dc2022-02-06 14:42:18 -0800128 "popd")],
129 "cypress/psoc64": [("echo 'Sign binaries for Cypress PSoC64 platform';"
130 "pushd %(_tbm_build_dir_)s/..;"
131 "sudo /usr/local/bin/cysecuretools "
132 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
133 "--target cy8ckit-064s0s2-4343w "
134 "sign-image "
135 "--hex %(_tbm_build_dir_)s/bin/tfm_s.hex "
136 "--image-type BOOT --image-id 1;"
137 "sudo /usr/local/bin/cysecuretools "
138 "--policy platform/ext/target/cypress/psoc64/security/policy/policy_multi_CM0_CM4_tfm.json "
139 "--target cy8ckit-064s0s2-4343w "
140 "sign-image "
141 "--hex %(_tbm_build_dir_)s/bin/tfm_ns.hex "
142 "--image-type BOOT --image-id 16;"
143 "mv %(_tbm_build_dir_)s/bin/tfm_s.hex %(_tbm_build_dir_)s/bin/tfm_s_signed.hex;"
144 "mv %(_tbm_build_dir_)s/bin/tfm_ns.hex %(_tbm_build_dir_)s/bin/tfm_ns_signed.hex;"
145 "popd")]
Minos Galanakisea421232019-06-20 17:11:28 +0100146 },
147
148 # (Optional) If set will fail if those artefacts are missing post build
149 "required_artefacts": {"all": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800150 "%(_tbm_build_dir_)s/bin/"
151 "tfm_s.bin",
152 "%(_tbm_build_dir_)s/bin/"
153 "tfm_ns.bin"],
Mark Horvathef57baa2022-09-12 13:36:36 +0200154 "arm/musca_b1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800155 "%(_tbm_build_dir_)s/bin/"
156 "tfm.hex",
157 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800158 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800159 "%(_tbm_build_dir_)s/bin/"
160 "tfm_sign.bin"],
Summer Qin3c2b5722021-05-26 10:43:45 +0800161 "arm/musca_s1": [
Xinyu Zhangb708f572020-09-15 11:43:46 +0800162 "%(_tbm_build_dir_)s/bin/"
163 "tfm.hex",
164 "%(_tbm_build_dir_)s/bin/"
Xinyu Zhang694eb492020-11-04 18:29:08 +0800165 "bl2.bin",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800166 "%(_tbm_build_dir_)s/bin/"
167 "tfm_sign.bin"]
Minos Galanakisea421232019-06-20 17:11:28 +0100168 }
169}
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100170
Xinyu Zhangb708f572020-09-15 11:43:46 +0800171# List of all build configs that are impossible under all circumstances
172_common_tfm_invalid_configs = [
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800173 # GCC defect
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800174 ("arm/mps2/an519", "GCC_7_3_1", "*", "*", "*", "*", "Minsizerel", "*", "*", "*"),
Xinyu Zhang459a1982021-07-21 22:34:49 +0800175 # LR_CODE size exceeds limit on MUSCA_B1 & MUSCA_S1 with regression tests in Debug mode built with ARMCLANG
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800176 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", True, "OFF", "Debug", "*", "", "*"),
177 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", True, "OFF", "Debug", "*", "", "*"),
Karl Zhangc858a722021-03-22 21:38:19 +0800178 # Load range overlap on Musca for IPC Debug type: T895
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800179 ("arm/musca_b1", "ARMCLANG_6_13", "*", "*", "*", "IPC", "Debug", "*", "*", "*"),
180 ("arm/musca_s1", "ARMCLANG_6_13", "*", "*", "*", "IPC", "Debug", "*", "*", "*"),
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800181 # LVL2 and LVL3 requires IPC model
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800182 ("*", "*", True, "2", "*", "*", "*", "*", "*", "*"),
183 ("*", "*", True, "3", "*", "*", "*", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300184 # FF does not support library model
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800185 ("*", "*", True, "*", "*", "IPC", "*", "*", "*", "*"),
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300186 # FF does not support L3
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800187 ("*", "*", "*", "3", "*", "IPC", "*", "*", "*", "*"),
Xinyu Zhang9fd74242020-10-22 11:30:50 +0800188 # Musca requires BL2
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800189 ("arm/musca_b1", "*", "*", "*", "*", "*", "*", False, "*", "*"),
190 ("arm/musca_s1", "*", "*", "*", "*", "*", "*", False, "*", "*"),
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800191 # Only AN521 and MUSCA_B1 support Isolation Level 3
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800192 ("arm/mps2/an519", "*", "*", "3", "*", "*", "*", "*", "*", "*"),
193 ("arm/mps3/an524", "*", "*", "3", "*", "*", "*", "*", "*", "*"),
194 ("arm/musca_s1", "*", "*", "3", "*", "*", "*", "*", "*", "*"),
Xinyu Zhangb708f572020-09-15 11:43:46 +0800195 ]
196
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100197# Configure build manager to build several combinations
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800198# Config group for per-patch job
199config_pp_test = {"seed_params": {
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800200 # AN519_ARMCLANG_IPC_1_REG_Debug_BL2
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800201 "tfm_platform": ["arm/mps2/an519"],
202 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800203 "lib_model": [False],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800204 "isolation_level": ["1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800205 "test_regression": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800206 "test_psa_api": ["OFF"],
207 "cmake_build_type": ["Debug"],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800208 "with_bl2": [True],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800209 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800210 "extra_params": [""]
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800211 },
212 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800213 "valid": [
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800214 # AN519_ARMCLANG_IPC_2_REG_Release_BL2
215 ("arm/mps2/an519", "ARMCLANG_6_13", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800216 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800217 # AN519_GCC_IPC_1_REG_Debug_BL2
218 ("arm/mps2/an519", "GCC_7_3_1", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800219 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800220 # AN519_GCC_IPC_2_REG_Release_BL2
221 ("arm/mps2/an519", "GCC_7_3_1", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800222 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800223 # AN519_GCC_LIB_1_REG_Debug_BL2
224 ("arm/mps2/an519", "GCC_7_3_1", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800225 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangc3252782022-09-05 18:24:16 +0800226 # AN521_ARMCLANG_LIB_1_REG_Debug_BL2_SMALL_PSOFF
227 ("arm/mps2/an521", "ARMCLANG_6_13", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800228 True, "OFF", "Debug", True, "profile_small", "PSOFF"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800229 # AN521_ARMCLANG_IPC_1_REG_Debug_BL2
230 ("arm/mps2/an521", "ARMCLANG_6_13", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800231 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800232 # AN521_ARMCLANG_IPC_2_REG_Release_BL2
233 ("arm/mps2/an521", "ARMCLANG_6_13", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800234 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800235 # AN521_ARMCLANG_IPC_3_REG_Minsizerel_BL2
236 ("arm/mps2/an521", "ARMCLANG_6_13", False, "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800237 True, "OFF", "Minsizerel", True, "", ""),
Xinyu Zhangc3252782022-09-05 18:24:16 +0800238 # AN521_ARMCLANG_IPC_1_REG_Debug_BL2_SMALL_PSOFF_SFN
239 ("arm/mps2/an521", "ARMCLANG_6_13", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800240 True, "OFF", "Debug", True, "profile_small", "PSOFF, SFN"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800241 # AN521_GCC_IPC_1_REG_Debug_BL2
242 ("arm/mps2/an521", "GCC_7_3_1", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800243 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800244 # AN521_GCC_IPC_2_Debug_BL2_MEDIUM
245 ("arm/mps2/an521", "GCC_7_3_1", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800246 False, "OFF", "Debug", True, "profile_medium", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800247 # AN521_GCC_IPC_2_REG_Release_BL2
248 ("arm/mps2/an521", "GCC_7_3_1", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800249 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800250 # AN521_GCC_IPC_3_REG_Minsizerel_BL2
251 ("arm/mps2/an521", "GCC_7_3_1", False, "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800252 True, "OFF", "Minsizerel", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800253 # AN521_GCC_LIB_1_REG_Debug_BL2
254 ("arm/mps2/an521", "GCC_7_3_1", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800255 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800256 # AN552_GNUARM_IPC_1_REG_Debug_BL2
257 ("arm/mps3/an552", "GCC_10_3", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800258 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800259 # AN552_GNUARM_IPC_1_REG_Release_BL2
260 ("arm/mps3/an552", "GCC_10_3", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800261 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800262 # MUSCA_B1_GCC_LIB_1_REG_Minsizerel_BL2
Mark Horvathef57baa2022-09-12 13:36:36 +0200263 ("arm/musca_b1", "GCC_7_3_1", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800264 True, "OFF", "Minsizerel", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800265 # MUSCA_S1_ARMCLANG_IPC_2_REG_Release_BL2
266 ("arm/musca_s1", "ARMCLANG_6_13", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800267 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800268 # MUSCA_S1_GCC_IPC_1_REG_Debug_BL2
269 ("arm/musca_s1", "GCC_10_3", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800270 True, "OFF", "Debug", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800271 # MUSCA_S1_GCC_IPC_2_REG_Release_BL2
272 ("arm/musca_s1", "GCC_10_3", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800273 True, "OFF", "Release", True, "", ""),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800274 # MUSCA_S1_GCC_LIB_1_REG_Debug_BL2
275 ("arm/musca_s1", "GCC_10_3", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800276 True, "OFF", "Debug", True, "", ""),
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200277 # MUSCA_S1_GCC_IPC_2_REG_Release_BL2_FPON
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800278 ("arm/musca_s1", "GCC_10_3", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800279 True, "OFF", "Release", True, "", "FPON"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800280 # MUSCA_S1_GCC_IPC_1_REG_Release_BL2_CC_DRIVER_PSA
281 ("arm/musca_s1", "GCC_7_3_1", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800282 True, "OFF", "Release", True, "", "CC_DRIVER_PSA"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800283 # stm32l562e_dk_ARMCLANG_IPC_1_REG_Release_BL2
284 ("stm/stm32l562e_dk", "ARMCLANG_6_13", False, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800285 True, "OFF", "Release", True, "", "CRYPTO_OFF"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800286 # stm32l562e_dk_GCC_IPC_2_REG_Release_BL2
287 ("stm/stm32l562e_dk", "GCC_7_3_1", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800288 False, "OFF", "Release", True, "", "CRYPTO_ON"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800289 # stm32l562e_dk_GCC_IPC_3_REG_Release_BL2
290 ("stm/stm32l562e_dk", "GCC_7_3_1", False, "3",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800291 True, "OFF", "Release", True, "", "CRYPTO_OFF"),
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800292 # psoc64_GCC_IPC_2_REG_Release
293 ("cypress/psoc64", "GCC_7_3_1", False, "2",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800294 True, "OFF", "Release", False, "", ""),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800295 ],
Xinyu Zhangfcb6aad2021-08-25 16:24:11 +0800296 "invalid": _common_tfm_invalid_configs + []
297 }
298
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800299# Config group for nightly job
300config_nightly_test = {"seed_params": {
301 "tfm_platform": ["arm/mps2/an519",
302 "arm/mps2/an521",
303 "arm/mps3/an524",
304 "arm/musca_s1",
Mark Horvathef57baa2022-09-12 13:36:36 +0200305 "arm/musca_b1"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800306 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800307 "lib_model": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800308 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800309 "test_regression": [True, False],
310 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800311 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800312 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800313 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800314 "extra_params": [""]
Minos Galanakisea421232019-06-20 17:11:28 +0100315 },
316 "common_params": _common_tfm_builder_cfg,
Xinyu Zhangb708f572020-09-15 11:43:46 +0800317 "invalid": _common_tfm_invalid_configs + []
Minos Galanakisea421232019-06-20 17:11:28 +0100318 }
319
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800320# Config group for release job
321config_release_test = {"seed_params": {
322 "tfm_platform": ["arm/mps2/an519",
323 "arm/mps2/an521",
324 "arm/mps3/an524",
Mark Horvathef57baa2022-09-12 13:36:36 +0200325 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800326 "arm/musca_s1"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800327 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800328 "lib_model": [True, False],
Xinyu Zhang6922b7a2020-11-05 15:21:27 +0800329 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800330 "test_regression": [True, False],
331 "test_psa_api": ["OFF"],
332 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang5564d8b2020-11-13 10:22:27 +0800333 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800334 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800335 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800336 },
337 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800338 "valid": [
339 # sanity test for GCC v11.2
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800340 # AN521_GCC_IPC_3_REG_Relwithdebinfo_BL2
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800341 ("arm/mps2/an521", "GCC_11_2",
342 False, "3", True, "OFF", "Relwithdebinfo",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800343 True, "", ""),
Xinyu Zhang47bfc0e2022-04-06 17:26:59 +0800344 ],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800345 "invalid": _common_tfm_invalid_configs + []
346 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800347
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800348# Config groups for TF-M features
349config_profile_s = {"seed_params": {
David Huda27ae72022-03-28 15:32:19 +0800350 "tfm_platform": ["arm/mps2/an519", "arm/mps2/an521"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800351 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
David Huda27ae72022-03-28 15:32:19 +0800352 "lib_model": [True],
353 "isolation_level": ["1"],
354 "test_regression": [True, False],
355 "test_psa_api": ["OFF"],
356 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
David Huda27ae72022-03-28 15:32:19 +0800357 "with_bl2": [True],
David Huda27ae72022-03-28 15:32:19 +0800358 "profile": ["profile_small"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800359 "extra_params": ["PSOFF"]
David Huda27ae72022-03-28 15:32:19 +0800360 },
361 "common_params": _common_tfm_builder_cfg,
362 "valid": [
363 # Profile Small also supports SFN model
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800364 ("*", "*", False, "*", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800365 "*", "*", "*", "PSOFF, SFN")
David Huda27ae72022-03-28 15:32:19 +0800366 ],
367 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhang433771e2022-04-01 16:49:17 +0800368 ("arm/mps2/an519", "GCC_7_3_1", "*", "*", "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800369 "*", "Minsizerel", "*", "*", "*")
David Huda27ae72022-03-28 15:32:19 +0800370 ]
371 }
372
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800373config_profile_m = {"seed_params": {
374 "tfm_platform": ["arm/mps2/an519",
375 "arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200376 "arm/musca_b1"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800377 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800378 "lib_model": [False],
379 "isolation_level": ["2"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800380 "test_regression": [True, False],
381 "test_psa_api": ["OFF"],
382 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800383 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800384 "profile": ["profile_medium"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800385 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800386 },
387 "common_params": _common_tfm_builder_cfg,
388 "invalid": _common_tfm_invalid_configs + []
389 }
390
391config_profile_l = {"seed_params": {
392 "tfm_platform": ["arm/mps2/an521"],
393 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
394 "lib_model": [False],
395 "isolation_level": ["3"],
396 "test_regression": [True, False],
397 "test_psa_api": ["OFF"],
398 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800399 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800400 "profile": ["profile_large"],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800401 "extra_params": ["", "PSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800402 },
403 "common_params": _common_tfm_builder_cfg,
404 "invalid": _common_tfm_invalid_configs + []
405 }
406
407config_cc_driver_psa = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200408 "tfm_platform": ["arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800409 "arm/musca_s1"],
410 "compiler": ["GCC_7_3_1"],
411 "lib_model": [False],
412 "isolation_level": ["1"],
413 "test_regression": [True],
414 "test_psa_api": ["OFF"],
415 "cmake_build_type": ["Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800416 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800417 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800418 "extra_params": ["CC_DRIVER_PSA"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800419 },
420 "common_params": _common_tfm_builder_cfg,
421 "invalid": _common_tfm_invalid_configs + []
422 }
Karl Zhangaff558a2020-05-15 14:28:23 +0100423
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800424config_fp = {"seed_params": {
Summer Qin3c2b5722021-05-26 10:43:45 +0800425 "tfm_platform": ["arm/musca_s1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800426 "compiler": ["GCC_10_3"],
427 "lib_model": [False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800428 "isolation_level": ["1", "2"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800429 "test_regression": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800430 "test_psa_api": ["OFF"],
431 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800432 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800433 "profile": [""],
Mark Horvath93cb5fb2022-09-06 17:51:24 +0200434 "extra_params": ["FPOFF", "FPON", "FPON, LZOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800435 },
436 "common_params": _common_tfm_builder_cfg,
437 "invalid": _common_tfm_invalid_configs + []
438 }
Karl Zhangeffed972020-06-30 15:48:01 +0800439
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800440config_psa_api = {"seed_params": {
441 "tfm_platform": ["arm/mps2/an521",
Mark Horvathef57baa2022-09-12 13:36:36 +0200442 "arm/musca_b1",
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800443 "arm/musca_s1"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800444 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800445 "lib_model": [True, False],
Xinyu Zhangb1c550f2020-10-28 15:32:38 +0800446 "isolation_level": ["1", "2", "3"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800447 "test_regression": [False],
448 "test_psa_api": ["IPC",
449 "CRYPTO",
Xinyu Zhangb708f572020-09-15 11:43:46 +0800450 "INITIAL_ATTESTATION",
Xinyu Zhang39acb412021-07-09 20:35:19 +0800451 "STORAGE"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800452 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800453 "with_bl2": [True],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800454 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800455 "extra_params": [""]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800456 },
457 "common_params": _common_tfm_builder_cfg,
Paul Sokolovsky75f67e82022-05-02 15:39:41 +0300458 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800459 }
Karl Zhang14573bc2020-06-08 09:23:21 +0800460
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800461config_nsce = {"seed_params": {
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800462 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800463 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800464 "lib_model": [True, False],
465 "isolation_level": ["1", "2", "3"],
466 "test_regression": [True],
467 "test_psa_api": ["OFF"],
468 "cmake_build_type": ["Debug"],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800469 "with_bl2": [True],
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800470 "profile": [""],
Xinyu Zhang67612992021-12-20 14:11:27 +0800471 "extra_params": ["NSCE"]
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800472 },
473 "common_params": _common_tfm_builder_cfg,
474 "invalid": _common_tfm_invalid_configs + []
475 }
476
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800477config_mmio = {"seed_params": {
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800478 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800479 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800480 "lib_model": [False],
481 "isolation_level": ["1"],
482 "test_regression": [True],
483 "test_psa_api": ["OFF"],
484 "cmake_build_type": ["Debug", "Release", "Minsizerel"],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800485 "with_bl2": [True],
Xinyu Zhanga1088e22021-11-11 18:02:45 +0800486 "profile": [""],
Xinyu Zhang3bb01af2021-12-20 14:45:49 +0800487 "extra_params": ["MMIO"]
Xinyu Zhang9bfe8a92021-10-28 16:27:12 +0800488 },
489 "common_params": _common_tfm_builder_cfg,
490 "invalid": _common_tfm_invalid_configs + []
491 }
492
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800493# Config groups for code coverage
494config_cov_profile_s = deepcopy(config_profile_s)
495config_cov_profile_s["seed_params"]["compiler"] = ["GCC_7_3_1"]
Xinyu Zhangbdc37e32022-04-06 17:47:44 +0800496
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800497config_cov_profile_m = deepcopy(config_profile_m)
498config_cov_profile_m["seed_params"]["compiler"] = ["GCC_7_3_1"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800499
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800500config_cov_profile_l = deepcopy(config_profile_l)
501config_cov_profile_l["seed_params"]["compiler"] = ["GCC_7_3_1"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800502
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800503config_cov_nsce = deepcopy(config_nsce)
504config_cov_nsce["seed_params"]["compiler"] = ["GCC_7_3_1"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800505
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800506config_cov_mmio = deepcopy(config_mmio)
507config_cov_mmio["seed_params"]["compiler"] = ["GCC_7_3_1"]
Karl Zhang14573bc2020-06-08 09:23:21 +0800508
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800509# Config groups for platforms
510config_an519 = {"seed_params": {
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800511 "tfm_platform": ["arm/mps2/an519"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800512 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
Xinyu Zhang73ed2992021-09-15 11:38:23 +0800513 "lib_model": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800514 "isolation_level": ["1", "2"],
515 "test_regression": [True, False],
516 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800517 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800518 "with_bl2": [True, False],
Xinyu Zhangb708f572020-09-15 11:43:46 +0800519 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800520 "extra_params": ["", "NSOFF"]
Xinyu Zhangb708f572020-09-15 11:43:46 +0800521 },
522 "common_params": _common_tfm_builder_cfg,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800523 "invalid": _common_tfm_invalid_configs + []
524 }
525
526config_an521 = {"seed_params": {
527 "tfm_platform": ["arm/mps2/an521"],
528 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
529 "lib_model": [True, False],
530 "isolation_level": ["1", "2", "3"],
531 "test_regression": [True, False],
532 "test_psa_api": ["OFF"],
533 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800534 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800535 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800536 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800537 },
538 "common_params": _common_tfm_builder_cfg,
539 "invalid": _common_tfm_invalid_configs + []
540 }
541
542config_an524 = {"seed_params": {
543 "tfm_platform": ["arm/mps3/an524"],
544 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
545 "lib_model": [True, False],
546 "isolation_level": ["1", "2"],
547 "test_regression": [True, False],
548 "test_psa_api": ["OFF"],
549 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800550 "with_bl2": [True, False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800551 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800552 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800553 },
554 "common_params": _common_tfm_builder_cfg,
555 "invalid": _common_tfm_invalid_configs + []
Xinyu Zhangb708f572020-09-15 11:43:46 +0800556 }
Dean Birch4c6ad622020-03-13 11:28:03 +0000557
Xinyu Zhang38b76742021-11-11 13:57:56 +0800558config_an547 = {"seed_params": {
559 "tfm_platform": ["arm/mps3/an547"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100560 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800561 "lib_model": [False],
562 "isolation_level": ["1"],
563 "test_regression": [False],
564 "test_psa_api": ["OFF"],
565 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800566 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800567 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800568 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800569 },
570 "common_params": _common_tfm_builder_cfg,
571 "invalid": _common_tfm_invalid_configs + []
572 }
573
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800574config_an552 = {"seed_params": {
575 "tfm_platform": ["arm/mps3/an552"],
576 "compiler": ["GCC_10_3"],
577 "lib_model": [True, False],
578 "isolation_level": ["1", "2"],
579 "test_regression": [True, False],
580 "test_psa_api": ["OFF"],
581 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800582 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800583 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800584 "extra_params": [""]
585 },
586 "common_params": _common_tfm_builder_cfg,
587 "invalid": _common_tfm_invalid_configs + []
588 }
589
590config_musca_b1 = {"seed_params": {
Mark Horvathef57baa2022-09-12 13:36:36 +0200591 "tfm_platform": ["arm/musca_b1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800592 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
593 "lib_model": [True, False],
594 "isolation_level": ["1", "2", "3"],
595 "test_regression": [True, False],
596 "test_psa_api": ["OFF"],
597 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800598 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800599 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800600 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800601 },
602 "common_params": _common_tfm_builder_cfg,
603 "invalid": _common_tfm_invalid_configs + []
604 }
605
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800606config_musca_s1 = {"seed_params": {
607 "tfm_platform": ["arm/musca_s1"],
608 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
609 "lib_model": [True, False],
610 "isolation_level": ["1", "2"],
611 "test_regression": [True, False],
612 "test_psa_api": ["OFF"],
613 "cmake_build_type": ["Debug", "Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800614 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800615 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800616 "extra_params": ["", "NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800617 },
618 "common_params": _common_tfm_builder_cfg,
619 "invalid": _common_tfm_invalid_configs + []
620 }
621
Bence Balogh8731a092022-05-24 17:24:54 +0200622config_corstone310 = {"seed_params": {
623 "tfm_platform": ["arm/mps3/corstone310_fvp"],
Bence Balogh176b78f2022-02-22 13:49:34 +0100624 "compiler": ["GCC_10_3"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800625 "lib_model": [False],
626 "isolation_level": ["1"],
627 "test_regression": [False],
628 "test_psa_api": ["OFF"],
629 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800630 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800631 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800632 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800633 },
634 "common_params": _common_tfm_builder_cfg,
635 "invalid": _common_tfm_invalid_configs + []
636 }
637
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100638config_rss = {"seed_params": {
639 "tfm_platform": ["arm/rss"],
640 "compiler": ["GCC_10_3"],
641 "lib_model": [False],
642 "isolation_level": ["1", "2"],
643 "test_regression": [True, False],
644 "test_psa_api": ["OFF"],
645 "cmake_build_type": ["Debug", "Release"],
646 "with_bl2": [True],
647 "profile": [""],
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800648 "extra_params": ["PSOFF"]
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100649 },
650 "common_params": _common_tfm_builder_cfg,
651 "invalid": _common_tfm_invalid_configs + []
652 }
653
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800654config_psoc64 = {"seed_params": {
655 "tfm_platform": ["cypress/psoc64"],
656 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
657 "lib_model": [False],
658 "isolation_level": ["1", "2"],
659 "test_regression": [True],
660 "test_psa_api": ["OFF"],
661 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800662 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800663 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800664 "extra_params": [""]
665 },
666 "common_params": _common_tfm_builder_cfg,
667 "invalid": _common_tfm_invalid_configs + []
668 }
669
670config_corstone1000 = {"seed_params": {
671 "tfm_platform": ["arm/corstone1000"],
672 "compiler": ["GCC_7_3_1"],
673 "lib_model": [False],
674 "isolation_level": ["1"],
Satish Kumar1cfdd912022-08-01 09:24:07 +0100675 "test_regression": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800676 "test_psa_api": ["OFF"],
677 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800678 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800679 "profile": [""],
Xinyu Zhangfc061dd2022-07-26 14:52:56 +0800680 "extra_params": ["S_PS_OFF, FVP", "FPGA"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800681 },
682 "common_params": _common_tfm_builder_cfg,
683 "invalid": _common_tfm_invalid_configs + []
684 }
685
686config_stm32l562e_dk = {"seed_params": {
687 "tfm_platform": ["stm/stm32l562e_dk"],
688 "compiler": ["GCC_7_3_1", "ARMCLANG_6_13"],
689 "lib_model": [True, False],
690 "isolation_level": ["1", "2", "3"],
691 "test_regression": [True, False],
692 "test_psa_api": ["OFF"],
693 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800694 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800695 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800696 "extra_params": ["CRYPTO_OFF", "CRYPTO_ON"]
697 },
698 "common_params": _common_tfm_builder_cfg,
699 "invalid": _common_tfm_invalid_configs + [
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800700 # Oversize issue on config stm32l562e_dk_ARMCLANG_LIB_1_REG_Release_BL2
701 ("stm/stm32l562e_dk", "ARMCLANG_6_13", True, "1",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800702 True, "OFF", "Release", True, "", "*"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800703 # all other tests are off when CRYPTO is ON
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800704 ("stm/stm32l562e_dk", "*", "*", "*", True, "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800705 "*", "*", "*", "CRYPTO_ON"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800706 # all other tests are ON when CRYPTO is OFF
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800707 ("stm/stm32l562e_dk", "*", "*", "*", False, "*",
Xinyu Zhangdf88e302022-09-19 11:27:57 +0800708 "*", "*", "*", "CRYPTO_OFF"),
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800709 ]
710 }
711
712config_b_u585i_iot02a = {"seed_params": {
713 "tfm_platform": ["stm/b_u585i_iot02a"],
714 "compiler": ["GCC_7_3_1"],
715 "lib_model": [False],
716 "isolation_level": ["1"],
717 "test_regression": [False],
718 "test_psa_api": ["OFF"],
719 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800720 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800721 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800722 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800723 },
724 "common_params": _common_tfm_builder_cfg,
725 "invalid": _common_tfm_invalid_configs + []
726 }
727
728config_nucleo_l552ze_q = {"seed_params": {
729 "tfm_platform": ["stm/nucleo_l552ze_q"],
730 "compiler": ["GCC_7_3_1"],
731 "lib_model": [False],
732 "isolation_level": ["1"],
733 "test_regression": [False],
734 "test_psa_api": ["OFF"],
735 "cmake_build_type": ["Release"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800736 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800737 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800738 "extra_params": ["NSOFF"]
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800739 },
740 "common_params": _common_tfm_builder_cfg,
741 "invalid": _common_tfm_invalid_configs + []
742 }
743
744config_lpcxpresso55s69 = {"seed_params": {
745 "tfm_platform": ["nxp/lpcxpresso55s69"],
746 "compiler": ["GCC_7_3_1"],
747 "lib_model": [False],
748 "isolation_level": ["2"],
749 "test_regression": [True, False],
750 "test_psa_api": ["OFF"],
751 "cmake_build_type": ["Relwithdebinfo"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800752 "with_bl2": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800753 "profile": ["profile_medium"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800754 "extra_params": [""]
755 },
756 "common_params": _common_tfm_builder_cfg,
757 "invalid": _common_tfm_invalid_configs + []
758 }
759
Xinyu Zhang38b76742021-11-11 13:57:56 +0800760config_bl5340 = {"seed_params": {
761 "tfm_platform": ["lairdconnectivity/bl5340_dvk_cpuapp"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800762 "compiler": ["GCC_7_3_1"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800763 "lib_model": [False],
764 "isolation_level": ["1"],
765 "test_regression": [False],
766 "test_psa_api": ["OFF"],
767 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800768 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800769 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800770 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800771 },
772 "common_params": _common_tfm_builder_cfg,
773 "invalid": _common_tfm_invalid_configs + []
774 }
775
776config_nrf5340dk = {"seed_params": {
777 "tfm_platform": ["nordic_nrf/nrf5340dk_nrf5340_cpuapp"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800778 "compiler": ["GCC_7_3_1"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800779 "lib_model": [False],
780 "isolation_level": ["1"],
781 "test_regression": [False],
782 "test_psa_api": ["OFF"],
783 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800784 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800785 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800786 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800787 },
788 "common_params": _common_tfm_builder_cfg,
789 "invalid": _common_tfm_invalid_configs + []
790 }
791
792config_nrf9160dk = {"seed_params": {
793 "tfm_platform": ["nordic_nrf/nrf9160dk_nrf9160"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800794 "compiler": ["GCC_7_3_1"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800795 "lib_model": [False],
796 "isolation_level": ["1"],
797 "test_regression": [False],
798 "test_psa_api": ["OFF"],
799 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800800 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800801 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800802 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800803 },
804 "common_params": _common_tfm_builder_cfg,
805 "invalid": _common_tfm_invalid_configs + []
806 }
807
808config_m2351 = {"seed_params": {
809 "tfm_platform": ["nuvoton/m2351"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800810 "compiler": ["GCC_7_3_1"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800811 "lib_model": [False],
812 "isolation_level": ["1"],
813 "test_regression": [False],
814 "test_psa_api": ["OFF"],
815 "cmake_build_type": ["Release"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800816 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800817 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800818 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800819 },
820 "common_params": _common_tfm_builder_cfg,
821 "invalid": _common_tfm_invalid_configs + []
822 }
823
824config_m2354 = {"seed_params": {
825 "tfm_platform": ["nuvoton/m2354"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800826 "compiler": ["GCC_7_3_1"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800827 "lib_model": [False],
828 "isolation_level": ["1"],
829 "test_regression": [False],
830 "test_psa_api": ["OFF"],
831 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800832 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800833 "profile": [""],
Xinyu Zhangfb80b5d2022-07-26 15:42:26 +0800834 "extra_params": ["NSOFF"]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800835 },
836 "common_params": _common_tfm_builder_cfg,
837 "invalid": _common_tfm_invalid_configs + []
838 }
839
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800840# Config groups for debug
841config_debug = {"seed_params": {
842 "tfm_platform": ["arm/mps2/an521"],
Xinyu Zhang433771e2022-04-01 16:49:17 +0800843 "compiler": ["GCC_7_3_1"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800844 "lib_model": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800845 "isolation_level": ["1"],
846 "test_regression": [False],
847 "test_psa_api": ["OFF"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800848 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800849 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800850 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800851 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800852 },
853 "common_params": _common_tfm_builder_cfg,
854 "invalid": _common_tfm_invalid_configs + []
855 }
856
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800857config_debug_regr = deepcopy(config_debug)
858config_debug_regr["seed_params"]["test_regression"] = [True]
859
860config_debug_PSA_API = {"seed_params": {
861 "tfm_platform": ["arm/mps2/an521"],
862 "compiler": ["ARMCLANG_6_13"],
863 "lib_model": [True],
864 "isolation_level": ["1"],
865 "test_regression": [False],
866 "test_psa_api": ["CRYPTO",
867 "INITIAL_ATTESTATION",
868 "STORAGE",
869 "IPC"],
870 "cmake_build_type": ["Debug"],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800871 "with_bl2": [True],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800872 "profile": [""],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800873 "extra_params": [""]
874 },
875 "common_params": _common_tfm_builder_cfg,
876 "invalid": _common_tfm_invalid_configs + []
877 }
878
879config_debug_PSA_API_nolib = {"seed_params": {
880 "tfm_platform": ["arm/mps2/an521"],
881 "compiler": ["ARMCLANG_6_13"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800882 "lib_model": [False],
883 "isolation_level": ["1"],
884 "test_regression": [False],
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800885 "test_psa_api": ["CRYPTO",
886 "INITIAL_ATTESTATION",
887 "STORAGE",
888 "IPC"],
889 "cmake_build_type": ["Debug"],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800890 "with_bl2": [True],
Xinyu Zhang38b76742021-11-11 13:57:56 +0800891 "profile": [""],
Xinyu Zhangfd2e1152021-12-17 18:09:01 +0800892 "extra_params": [""]
Xinyu Zhang38b76742021-11-11 13:57:56 +0800893 },
894 "common_params": _common_tfm_builder_cfg,
895 "invalid": _common_tfm_invalid_configs + []
896 }
897
Karl Zhangaff558a2020-05-15 14:28:23 +0100898_builtin_configs = {
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800899 # per-patch test groups
900 "pp_test": config_pp_test,
901 "pp_corstone1000": config_corstone1000,
Karl Zhang14573bc2020-06-08 09:23:21 +0800902
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800903 # nightly test groups
904 "nightly_test": config_nightly_test,
905 "nightly_profile_s": config_profile_s,
906 "nightly_profile_m": config_profile_m,
907 "nightly_profile_l": config_profile_l,
908 "nightly_cc_driver_psa": config_cc_driver_psa,
909 "nightly_fp":config_fp,
910 "nightly_psa_api": config_psa_api,
Xinyu Zhang050e39a2021-11-16 14:38:15 +0800911 "nightly_nsce": config_nsce,
912 "nightly_mmio": config_mmio,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800913 "nightly_an547": config_an547,
914 "nightly_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +0200915 "nightly_corstone310": config_corstone310,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800916 "nightly_corstone1000": config_corstone1000,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100917 "nightly_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800918 "nightly_psoc64": config_psoc64,
919 "nightly_stm32l562e_dk": config_stm32l562e_dk,
920 "nightly_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +0800921
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800922 # release test groups
923 "release_test": config_release_test,
924 "release_profile_s": config_profile_s,
925 "release_profile_m": config_profile_m,
926 "release_profile_l": config_profile_l,
927 "release_cc_driver_psa": config_cc_driver_psa,
928 "release_fp": config_fp,
929 "release_psa_api": config_psa_api,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800930 "release_nsce": config_nsce,
931 "release_mmio": config_mmio,
932 "release_an547": config_an547,
933 "release_an552": config_an552,
Bence Balogh8731a092022-05-24 17:24:54 +0200934 "release_corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100935 "release_rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800936 "release_psoc64": config_psoc64,
937 "release_stm32l562e_dk": config_stm32l562e_dk,
938 "release_lpcxpresso55s69": config_lpcxpresso55s69,
Karl Zhang14573bc2020-06-08 09:23:21 +0800939
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800940 # code coverage test groups
941 "coverage_profile_s": config_cov_profile_s,
942 "coverage_profile_m": config_cov_profile_m,
943 "coverage_profile_l": config_cov_profile_l,
944 "coverage_nsce": config_cov_nsce,
945 "coverage_mmio": config_cov_mmio,
946 "coverage_fp": config_fp,
Xinyu Zhangf25856a2021-06-17 14:06:46 +0800947
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800948 # platform groups
949 "an521": config_an521,
950 "an519": config_an519,
951 "an524": config_an524,
952 "an547": config_an547,
953 "an552": config_an552,
954 "musca_b1": config_musca_b1,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800955 "musca_s1": config_musca_s1,
Bence Balogh8731a092022-05-24 17:24:54 +0200956 "corstone310": config_corstone310,
Jamie Foxf3b8aa82022-09-08 11:52:01 +0100957 "rss": config_rss,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800958 "cypress_psoc64": config_psoc64,
959 "corstone1000": config_corstone1000,
960 "stm_stm32l562e_dk": config_stm32l562e_dk,
961 "stm_b_u585i_iot02a": config_b_u585i_iot02a,
962 "stm_nucleo_l552ze_q": config_nucleo_l552ze_q,
963 "nxp_lpcxpresso55s69": config_lpcxpresso55s69,
Xinyu Zhang38b76742021-11-11 13:57:56 +0800964 "laird_bl5340": config_bl5340,
965 "nordic_nrf5340dk": config_nrf5340dk,
966 "nordic_nrf9160dk": config_nrf9160dk,
967 "nuvoton_m2351": config_m2351,
968 "nuvoton_m2354": config_m2354,
Xinyu Zhang38b76742021-11-11 13:57:56 +0800969
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800970 # config groups for debug
Dean Birch4c6ad622020-03-13 11:28:03 +0000971 "debug": config_debug,
Paul Sokolovsky6c3c6562022-04-04 23:23:02 +0300972 "debug_regr": config_debug_regr,
Paul Sokolovsky1ec752b2022-01-22 19:50:58 +0300973 "debug_PSA_API": config_debug_PSA_API,
Paul Sokolovsky49a99282022-02-02 23:43:37 +0300974 "debug_PSA_API_nolib": config_debug_PSA_API_nolib,
Xinyu Zhang0aebb3d2022-04-11 18:27:12 +0800975 }
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100976
977if __name__ == '__main__':
978 import os
Minos Galanakisf4ca6ac2017-12-11 02:39:21 +0100979
Minos Galanakisea421232019-06-20 17:11:28 +0100980 # Default behavior is to export refference config when called
981 _dir = os.getcwd()
982 from utils import save_json
983 for _cname, _cfg in _builtin_configs.items():
984 _fname = os.path.join(_dir, _cname + ".json")
985 print("Exporting config %s" % _fname)
986 save_json(_fname, _cfg)