From 14a3dad3c879ecf5083b2751c1a541f151d88c43 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 3 Jul 2025 15:13:15 -0500 Subject: [PATCH] Refactor CircleCI config to run tests and API version checks in parallel - Split mvn_test job into separate build, test, and api_version_check jobs - Run test and api_version_check in parallel after build completes - Both parallel jobs use compiled outputs from build via Maven cache - Remove unnecessary check_java_version steps - Remove unused test-logs artifact storage - Add jacoco:report to generate coverage reports - Maintain sequential execution in mvn_deploy job --- .circleci/config.yml | 47 +++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a9ddd154..cf61ae84 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,14 +5,6 @@ orbs: browser-tools: circleci/browser-tools@1.4.7 commands: - check_java_version: - steps: - - run: - name: Check Java Version - command: | - java -version - echo "Java version check completed" - mvn_build: steps: - checkout @@ -43,13 +35,10 @@ commands: - run: name: Run Maven Test command: | - mvn -s .circleci/mvn-settings.xml -T4 --batch-mode test + mvn -s .circleci/mvn-settings.xml -T4 --batch-mode test jacoco:report - store_artifacts: path: "*/target/site/jacoco/" when: always - - store_artifacts: - path: "*/target/test-logs/" - when: always - run: name: Concatenate test output files command: | @@ -156,20 +145,24 @@ commands: when: always jobs: - mvn_test: + build: executor: localstack/default steps: - ## - localstack/startup - - check_java_version - mvn_build + + test: + executor: localstack/default + steps: - mvn_test + + api_version_check: + executor: localstack/default + steps: - check_middleware_api_versions mvn_deploy: executor: localstack/default steps: - ## - localstack/startup - - check_java_version - mvn_build - mvn_test - check_middleware_api_versions @@ -184,13 +177,31 @@ jobs: workflows: test_only: jobs: - - mvn_test: + - build: context: [ qqq-maven-registry-credentials, build-qqq-sample-app ] filters: branches: ignore: /(dev|integration.*)/ tags: ignore: /(version|snapshot)-.*/ + - test: + context: [ qqq-maven-registry-credentials, build-qqq-sample-app ] + requires: + - build + filters: + branches: + ignore: /(dev|integration.*)/ + tags: + ignore: /(version|snapshot)-.*/ + - api_version_check: + context: [ qqq-maven-registry-credentials, build-qqq-sample-app ] + requires: + - build + filters: + branches: + ignore: /(dev|integration.*)/ + tags: + ignore: /(version|snapshot)-.*/ deploy: jobs: