version: 2.1 executors: java17: docker: - image: 'cimg/openjdk:17.0' resource_class: small orbs: slack: circleci/slack@4.10.1 commands: run_maven: parameters: maven_subcommand: default: test type: string steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "pom.xml" }} - run: name: Run Maven command: | mvn -s .circleci/mvn-settings.xml << parameters.maven_subcommand >> - store_artifacts: path: target/site/jacoco - run: name: Save test results command: | mkdir -p ~/test-results/junit/ find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} ~/test-results/junit/ \; when: always - store_test_results: path: ~/test-results - save_cache: paths: - ~/.m2 key: v1-dependencies-{{ checksum "pom.xml" }} jobs: mvn_test: executor: java17 steps: - run_maven: maven_subcommand: verify - slack/notify: event: fail mvn_deploy: executor: java17 steps: - run_maven: maven_subcommand: deploy - slack/notify: event: always workflows: test_only: jobs: - mvn_test: context: [ qqq-maven-registry-credentials, kingsrook-slack ] filters: branches: ignore: /dev/ tags: ignore: /(version|snapshot)-.*/ deploy: jobs: - mvn_deploy: context: [ qqq-maven-registry-credentials, kingsrook-slack ] filters: branches: only: /dev/ tags: only: /(version|snapshot)-.*/