diff --git a/.circleci/config.yml b/.circleci/config.yml
index 96ce6b81..7c158891 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -4,33 +4,74 @@ executors:
java17:
docker:
- image: 'cimg/openjdk:17.0'
+ resource_class: small
orbs:
- maven: circleci/maven@1.3.0
+ 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 >>
+ - 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: test
+ - slack/notify:
+ event: fail
+
+ mvn_deploy:
+ executor: java17
+ steps:
+ - run_maven:
+ maven_subcommand: deploy
+ - slack/notify:
+ event: always
workflows:
- main:
+ test_only:
jobs:
- ##############################################################################
- ## Job (from maven orb) to test the codebase. Should run for all branches. ##
- ##############################################################################
- - maven/test:
- name: run_tests
- executor: java17
+ - mvn_test:
+ context: [ qqq-maven-registry-credentials, kingsrook-slack ]
filters:
branches:
- ignore: circleci-project-setup ## todo - change to main
+ ignore: /dev/
+ tags:
+ ignore: /version-.*/
- #############################################################################################
- ## Job (from maven orb) to do a mvn deploy to publish jar to github qqq-maven-registry. ##
- ## Note: despite "/test" in the name, we specify the mvn sub-command w/ the command param. ##
- #############################################################################################
- - maven/test:
- name: deploy_to_github
- executor: java17
- command: deploy
- settings_file: .circleci/mvn-settings.xml
- context: qqq-maven-registry-credentials
+ deploy:
+ jobs:
+ - mvn_deploy:
+ context: [ qqq-maven-registry-credentials, kingsrook-slack ]
filters:
branches:
- only: circleci-project-setup ## todo - change to main
+ only: /dev/
+ tags:
+ only: /version-.*/
+
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
deleted file mode 100644
index 80d00dfd..00000000
--- a/.github/workflows/maven.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
-# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
-
-name: Java CI with Maven
-
-on:
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- with:
- java-version: '17'
- distribution: 'adopt'
- cache: maven
- - name: maven-settings-xml-action
- uses: whelk-io/maven-settings-xml-action@v20
- with:
- servers: '[{ "id": "github-qqq-maven-registry", "username": "${{ secrets.QQQ_MAVEN_REGISTRY_USERNAME }}", "password": "${{ secrets.QQQ_MAVEN_REGISTRY_PASSWORD }}" }]'
- repositories: '[{ "id": "github-qqq-maven-registry", "url": "https://maven.pkg.github.com/Kingsrook/qqq-maven-registry", "snapshots": { "enabled": "true" }}]'
- - name: Build with Maven
- run: mvn -B package --file pom.xml
- - name: Publish to GitHub Packages Apache Maven
- run: mvn deploy
- env:
- GITHUB_TOKEN: ${{ github.token }}
diff --git a/README.md b/README.md
index e13fbeb1..fdfa850d 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,8 @@
# qqq-backend-core
-[](https://github.com/Kingsrook/qqq-backend-core/actions/workflows/maven.yml)
+This is the Core backend module of qqq.
-This is the Core backend module of qqq.
-
-It defines the standard models (including how meta-data are modeled) and actions of the framework, along with interfaces for backend-modules to implement.
+It defines the standard models (including how meta-data are modeled) and actions of the framework, along with interfaces for backend-modules to implement.
## License
QQQ - Low-code Application Framework for Engineers. \
diff --git a/pom.xml b/pom.xml
index 79af13c4..0176dd30 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,15 +20,19 @@
~ along with this program. If not, see .
-->
-
+
4.0.0
com.kingsrook.qqq
qqq-backend-core
0.0-SNAPSHOT
+
+ scm:git:git@github.com:Kingsrook/qqq-backend-core.git
+ scm:git:git@github.com:Kingsrook/qqq-backend-core.git
+ HEAD
+
+
@@ -144,6 +148,22 @@
+
+ com.amashchenko.maven.plugin
+ gitflow-maven-plugin
+ 1.18.0
+
+
+ main
+ dev
+ version-
+
+ true
+ install
+ true
+ 1
+
+