@@ -20,7 +20,7 @@ test.concurrent("GITLAB_CI on_success", () => {
2020 ] ;
2121 const variables = { GITLAB_CI : "false" } ;
2222 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
23- expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined } ) ;
23+ expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined , matchedRule : "$GITLAB_CI == 'false'" } ) ;
2424} ) ;
2525
2626test . concurrent ( "Regex on undef var" , ( ) => {
@@ -29,7 +29,7 @@ test.concurrent("Regex on undef var", () => {
2929 ] ;
3030 const variables = { } ;
3131 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
32- expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined } ) ;
32+ expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined , matchedRule : undefined } ) ;
3333} ) ;
3434
3535test . concurrent ( "Negated regex on undef var" , ( ) => {
@@ -38,7 +38,7 @@ test.concurrent("Negated regex on undef var", () => {
3838 ] ;
3939 const variables = { } ;
4040 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
41- expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined } ) ;
41+ expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined , matchedRule : "$CI_COMMIT_TAG !~ /^v\\d+.\\d+.\\d+/" } ) ;
4242} ) ;
4343
4444test . concurrent ( "GITLAB_CI fail and fallback" , ( ) => {
@@ -48,7 +48,7 @@ test.concurrent("GITLAB_CI fail and fallback", () => {
4848 ] ;
4949 const variables = { GITLAB_CI : "false" } ;
5050 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
51- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
51+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "" } ) ;
5252} ) ;
5353
5454test . concurrent ( "Undefined if" , ( ) => {
@@ -57,7 +57,7 @@ test.concurrent("Undefined if", () => {
5757 ] ;
5858 const variables = { } ;
5959 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
60- expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined } ) ;
60+ expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined , matchedRule : "" } ) ;
6161} ) ;
6262
6363test . concurrent ( "Undefined when" , ( ) => {
@@ -66,7 +66,7 @@ test.concurrent("Undefined when", () => {
6666 ] ;
6767 const variables = { GITLAB_CI : "false" } ;
6868 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
69- expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined } ) ;
69+ expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined , matchedRule : "$GITLAB_CI" } ) ;
7070} ) ;
7171
7272test . concurrent ( "Early return" , ( ) => {
@@ -76,7 +76,7 @@ test.concurrent("Early return", () => {
7676 ] ;
7777 const variables = { GITLAB_CI : "false" } ;
7878 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
79- expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined } ) ;
79+ expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined , matchedRule : "$GITLAB_CI" } ) ;
8080} ) ;
8181
8282test . concurrent ( "VAR exists positive" , ( ) => {
@@ -254,14 +254,14 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/350", () => {
254254 ] ;
255255 variables = { CI_COMMIT_BRANCH : "master" } ;
256256 rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
257- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
257+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$CI_COMMIT_BRANCH =~ /master$/" } ) ;
258258
259259 rules = [
260260 { if : "$CI_COMMIT_BRANCH =~ /$BRANCHNAME/" , when : "manual" } ,
261261 ] ;
262262 variables = { CI_COMMIT_BRANCH : "master" , BRANCHNAME : "master" } ;
263263 rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
264- expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined } ) ;
264+ expect ( rulesResult ) . toEqual ( { when : "never" , allowFailure : false , variables : undefined , matchedRule : undefined } ) ;
265265} ) ;
266266
267267test . concurrent ( "https://github.com/firecow/gitlab-ci-local/issues/300" , ( ) => {
@@ -271,14 +271,14 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/300", () => {
271271 ] ;
272272 variables = { VAR1 : "val" , VAR2 : "ci-skip-job-" , VAR3 : "/ci-skip-job-/" } ;
273273 rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
274- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
274+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$VAR1 && (($VAR2 =~ /ci-skip-job-/ && $VAR2 =~ $VAR3) || ($VAR2 =~ /ci-skip-stage-/ && $VAR2 =~ $VAR3))" } ) ;
275275
276276 rules = [
277277 { if : "$VAR1 && (($VAR2 =~ /ci-skip-job-/ && $VAR2 =~ $VAR3) || ($VAR2 =~ /ci-skip-stage-/ && $VAR2 =~ $VAR3))" , when : "manual" } ,
278278 ] ;
279279 variables = { VAR1 : "val" , VAR2 : "ci-skip-stage-" , VAR3 : "/ci-skip-stage-/" } ;
280280 rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
281- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
281+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$VAR1 && (($VAR2 =~ /ci-skip-job-/ && $VAR2 =~ $VAR3) || ($VAR2 =~ /ci-skip-stage-/ && $VAR2 =~ $VAR3))" } ) ;
282282} ) ;
283283
284284test . concurrent ( "https://github.com/firecow/gitlab-ci-local/issues/424" , ( ) => {
@@ -287,7 +287,7 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/424", () => {
287287 ] ;
288288 const variables = { CI_COMMIT_REF_NAME : "develop" } ;
289289 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
290- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
290+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$CI_COMMIT_REF_NAME =~ /^(develop$|release\\/.*|master$)/" } ) ;
291291} ) ;
292292
293293test . concurrent ( "https://github.com/firecow/gitlab-ci-local/issues/609" , ( ) => {
@@ -296,7 +296,7 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/609", () => {
296296 ] ;
297297 const variables = { CI_COMMIT_REF_NAME : "main" , PROD_REF : "/^(master|main)$/" } ;
298298 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
299- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
299+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$CI_COMMIT_REF_NAME =~ $PROD_REF" } ) ;
300300} ) ;
301301
302302test . concurrent ( "optional manual job" , ( ) => {
@@ -306,7 +306,7 @@ test.concurrent("optional manual job", () => {
306306 ] ;
307307 const variables = { GITLAB_CI : "false" } ;
308308 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData , jobWhen ) ;
309- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : true , variables : undefined } ) ;
309+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : true , variables : undefined , matchedRule : "$GITLAB_CI == 'false'" } ) ;
310310} ) ;
311311
312312test . concurrent ( "https://github.com/firecow/gitlab-ci-local/issues/1755" , ( ) => {
@@ -317,7 +317,7 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/1755", () =>
317317 ] ;
318318 const variables = { GITLAB_CI : "false" } ;
319319 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData , jobWhen , jobAllowFailure ) ;
320- expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined } ) ;
320+ expect ( rulesResult ) . toEqual ( { when : "manual" , allowFailure : false , variables : undefined , matchedRule : "$GITLAB_CI == 'false'" } ) ;
321321} ) ;
322322
323323test . concurrent ( "https://github.com/firecow/gitlab-ci-local/issues/1252" , ( ) => {
@@ -327,5 +327,5 @@ test.concurrent("https://github.com/firecow/gitlab-ci-local/issues/1252", () =>
327327 ] ;
328328 const variables = { VAR1 : "val1" , VAR2 : "val2" } ;
329329 const rulesResult = Utils . getRulesResult ( { argv, cwd : "" , rules, variables} , gitData ) ;
330- expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined } ) ;
330+ expect ( rulesResult ) . toEqual ( { when : "on_success" , allowFailure : false , variables : undefined , matchedRule : "$VAR1 == 'val1'" } ) ;
331331} ) ;
0 commit comments