Pipeline is looping between self update and build

0

We have few ci/cd pipelines setup using code pipelines/. We use java/kotlin cdk to manage infrastructure. We made code changes in cdk code to include test report. But the update pipeline and build is going in loop. Any way to fix this issue.

1 Risposta
0
Risposta accettata

The issue is with the below code which I added in code build step to create a unit test report.

Map<String, String> reportGroupProps = Map.of(
                "files", "**/*.xml",
                "base-directory", "lambda/build/test-results/test/",
                "file-format", "JUNITXML"
        );
Map<String, ?> reports = Map.of(reportGroup.getReportGroupArn(), reportGroupProps);
Map<String, ?> reportsMap = Map.of("reports", reports);

It looks like cdk does Map.toString() somewhere in the code. Map.of() changes the order of keys while doing toString(), which result in cdk diff. This diff creates the pipeline to update, hence it is looping.

I tested with the below code, the hashmap and treemap is consitently giving the same order, whereas map.of() changes the order.

Map<String, String> mp = Map.of("k1", "v1", "k2", "V2");
System.out.println("mp = " + mp);

Map<String, String> hp = new HashMap<>();
hp.put("k1", "v1");
hp.put("k2", "v2");
System.out.println("hp = " + hp);

Map<String, String> smp = new TreeMap<>();
smp.put("k1", "v1");
smp.put("k2", "v2");
System.out.println("smp = " + smp);
con risposta un anno fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande