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 Resposta
0
Resposta aceita

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);
respondido há um ano

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas