@@ -739,7 +739,7 @@ sub create-cro-app ($pool) {
739
739
}
740
740
}
741
741
742
- get -> ' build' , ' project' , $ project , : $ user is cookie, : $ token is cookie {
742
+ get -> ' build' , ' project' , $ project , : $ group ? , : $ user is cookie, : $ token is cookie {
743
743
744
744
if check-user($ user , $ token , $ project ) {
745
745
@@ -795,7 +795,10 @@ sub create-cro-app ($pool) {
795
795
796
796
}
797
797
798
- for (% project-conf <vars ><> || []) -> $ v {
798
+ my % group_vars = (% project-conf <group_vars > || []). map ( { $ _ => True } );
799
+
800
+ for (% project-conf <vars ><> || []). grep ({$ group ?? (% group_vars {$ group }: exists ) !! True }) -> $ v {
801
+
799
802
if $ v <default > {
800
803
for $ v <default > ~~ m :global /"%" (\S +? ) "%" / -> $ c {
801
804
my $ var_id = $ c [0 ]. Str ;
@@ -876,15 +879,16 @@ sub create-cro-app ($pool) {
876
879
template ' templates/build.crotmp' , {
877
880
http-root => sparky-http-root(),
878
881
sparky-tcp-port => sparky-tcp-port(),
879
- group_vars => [],
882
+ group_vars => $ group ?? [] !! % project-conf <group_vars > || [],
883
+ render-vars => $ group ?? True !! ( % group_vars ?? False !! True ),
880
884
css => css(),
881
885
navbar => navbar($ user , $ token ),
882
886
project => $ project ,
883
887
allow-manual-run => % project-conf <allow_manual_run > || False ,
884
888
disabled => % project-conf <disabled > || False ,
885
889
project-conf-str => $ project-conf-str || " configuration not found" ,
886
890
project-conf => % project-conf || {},
887
- vars => % project-conf <vars > || [],
891
+ vars => ( % project-conf <vars > || []) . grep ({ $ group ?? ( % group_vars { $ _ < name >} : exists ) !! True }) || [],
888
892
scenario-code => " $ root /$ project /sparrowfile" . IO ~~ : e ?? " $ root /$ project /sparrowfile" . IO . slurp !! " scenario not found" ,
889
893
error => $ error
890
894
}
0 commit comments