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 réponse
0
Réponse acceptée

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);
répondu il y a un an

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions