mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
97 lines
2.4 KiB
YAML
97 lines
2.4 KiB
YAML
## Deviations from qqq-java library standard circleci config:
|
|
## - To test AWS S3, uses localstsack executor, orb, and startup step
|
|
## - This docker image doesn't have java-17, so we install (and cache) jvm-17
|
|
version: 2.1
|
|
|
|
executors:
|
|
java17:
|
|
docker:
|
|
- image: 'cimg/openjdk:17.0'
|
|
resource_class: small
|
|
|
|
orbs:
|
|
slack: circleci/slack@4.10.1
|
|
localstack: localstack/platform@1.0
|
|
|
|
commands:
|
|
install_java17:
|
|
steps:
|
|
- run:
|
|
name: Install Java 17
|
|
command: |
|
|
sudo add-apt-repository -y ppa:openjdk-r/ppa
|
|
sudo apt install -y openjdk-17-jdk
|
|
sudo rm /etc/alternatives/java
|
|
sudo ln -s /usr/lib/jvm/java-17-openjdk-amd64/bin/java /etc/alternatives/java
|
|
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: localstack/default
|
|
steps:
|
|
- localstack/startup
|
|
- install_java17
|
|
- run_maven:
|
|
maven_subcommand: verify
|
|
- slack/notify:
|
|
event: fail
|
|
|
|
mvn_deploy:
|
|
executor: localstack/default
|
|
steps:
|
|
- localstack/startup
|
|
- install_java17
|
|
- 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)-.*/
|
|
|