Operating system groups as parameter
Hello,
anyone could help me with the following ?
I would like to add parameter with a list of OS groups to the Parameters tab in the TeamCity using Kotlin DSL ?
Let's say I would like to have in a separate file OS groups with a list of operation systems and reference it in a Projects or BuildTypes:
{"Minimal": "WIN7x64, WIN10x64, WIN11x64",
"Optimized": "WIN7x32, WIN7x64, WIN81x64, WIN10x64, WIN11x64",
Full: "WIN7x32, WIN7x64, WIN81x32, WIN81x64, WIN10x32, WIN10x64, WIN11x64"}
So in the Parameters tab user would select e.g. "Minimal" option from the list of OS groups and the build would run on all of these OS's...
So far we have something like this in a root project but we have to always update in all sub-projects if something has to be changed or removed and in sub-projects list of os's could vary, that's why we need the groups...
select("17.OS", "Win_7_Ent_32b_EN,Win_7_Ent_64b_EN,Win_81_Ent_32b_EN,Win_10_Pro_32b_EN,Win_10_Pro_64b_EN,Win_11_Insider_64b_EN",
label = "OS",
description = "Name of makefile template OS you want to run your tests on.",
allowMultiple = true,
options = listOf(
"WIN 7 Enterprise 32b" to "Win_7_Ent_32b_EN",
"WIN 7 Enterprise 64b" to "Win_7_Ent_64b_EN",
"WIN 8.1 Enterprise 32b" to "Win_81_Ent_32b_EN",
"WIN 8.1 Enterprise 64b" to "Win_81_Ent_64b_EN",
"WIN 10 Pro 32b" to "Win_10_Pro_32b_EN",
"WIN 10 Pro 64b" to "Win_10_Pro_64b_EN",
))
Is this possible even possible in TC ?
Thanks for answers.
Please sign in to leave a comment.
About parameter propagation, If you have the parameter in the root project it should propagate to all subprojects automatically, the issue being that if you modify the parameter in the subprojects, then new changes to the root will not be reflected on those that have been modified.
You might also want to take a look into this plugin https://plugins.jetbrains.com/plugin/9076-web-parameters , that allows you to populate fields via REST from a server, it can also work as an alternative for your scenario.