Configure parallel tests with Java (Maven) - AWS CodeBuild
Services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the AWS European Sovereign Cloud Region, see the AWS European Sovereign Cloud User Guide.

Configure parallel tests with Java (Maven)

The following is sample of a buildspec.yml that shows parallel test execution with Java on a Linux platform:

version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: pre_build: commands: - echo 'prebuild' build: commands: - echo "Running mvn test" - | codebuild-tests-run \ --test-command 'mvn test -Dtest=$(echo "$CODEBUILD_CURRENT_SHARD_FILES" | sed "s|src/test/java/||g; s/\.java//g; s|/|.|g; s/ /,/g" | tr "\n" "," | sed "s/,$//")' \ --files-search "codebuild-glob-search '**/test/**/*.java'" post_build: commands: - echo "Running post-build steps..." - echo "Test execution completed"

In the given example, the environment variable CODEBUILD_CURRENT_SHARD_FILES contains test files in the current shard, separated by newlines. These files are converted into a comma-separated list of class names in the format accepted by the -Dtest parameter for Maven.