From 00f424de511547d05e526b87b9415025e5cc3c9b Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Tue, 6 Feb 2024 11:27:38 -0500
Subject: [PATCH 1/8] Add initial ci

---
 .github/workflows/build.yml                   |   1 +
 .github/workflows/pre-release.yml             |  33 ----
 .github/workflows/release.yml                 | 132 ++++++++++++----
 RELEASE.md                                    |  30 ++++
 .../ROOT/pages/includes/attributes.adoc       |   2 +-
 docs/pom.xml                                  |  21 +--
 integration-tests/pom.xml                     |   3 +-
 .../solace-client-integration-tests/pom.xml   |   2 +-
 pom.xml                                       | 144 ++++++++++++++++--
 quarkus-solace-client/deployment/pom.xml      |   2 +-
 quarkus-solace-client/pom.xml                 |   2 +-
 quarkus-solace-client/runtime/pom.xml         |   2 +-
 .../deployment/pom.xml                        |   2 +-
 quarkus-solace-messaging-connector/pom.xml    |   2 +-
 .../runtime/pom.xml                           |   2 +-
 samples/hello-connector-solace/pom.xml        |   2 +-
 samples/hello-solace/pom.xml                  |   2 +-
 17 files changed, 273 insertions(+), 111 deletions(-)
 delete mode 100644 .github/workflows/pre-release.yml
 create mode 100644 RELEASE.md

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 16f6ff8..e4d2f93 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,6 +4,7 @@ on:
   push:
     branches:
       - "main"
+      - 'release/*'
     paths-ignore:
       - '.gitignore'
       - 'CODEOWNERS'
diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml
deleted file mode 100644
index 0a9e64e..0000000
--- a/.github/workflows/pre-release.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: Quarkiverse Pre Release
-
-on:
-  pull_request:
-    paths:
-      - '.github/project.yml'
-
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
-defaults:
-  run:
-    shell: bash
-
-jobs:
-  release:
-    runs-on: ubuntu-latest
-    name: pre release
-
-    steps:
-      - uses: radcortez/project-metadata-action@master
-        name: retrieve project metadata
-        id: metadata
-        with:
-          github-token: ${{secrets.GITHUB_TOKEN}}
-          metadata-file-path: '.github/project.yml'
-
-      - name: Validate version
-        if: contains(steps.metadata.outputs.current-version, 'SNAPSHOT')
-        run: |
-          echo '::error::Cannot release a SNAPSHOT version.'
-          exit 1
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0a3894f..4008010 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,74 +1,142 @@
 name: Quarkiverse Release
 
 on:
-  pull_request:
-    types: [closed]
-    paths:
-      - '.github/project.yml'
+  workflow_dispatch:
+    inputs:
+      releaseVersion:
+        description: "Version to use when preparing a release. Use `auto` to use the latest version from the pom.xml."
+        required: true
+        default: "auto"
+      sourceBranch:
+        description: "Which branch contains the previous release version."
+        default: "main"
 
 concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
+  group: "quarkiverse-release"
+  cancel-in-progress: false
 
 defaults:
   run:
     shell: bash
+permissions:
+  contents: write
+  packages: write
 
 jobs:
   release:
     runs-on: ubuntu-latest
     name: release
-    if: ${{github.event.pull_request.merged == true}}
-
     steps:
-      - uses: radcortez/project-metadata-action@main
-        name: Retrieve project metadata
-        id: metadata
+      - uses: actions/checkout@v4
         with:
-          github-token: ${{secrets.GITHUB_TOKEN}}
-          metadata-file-path: '.github/project.yml'
-
-      - uses: actions/checkout@v3
+          ref: ${{ github.event.inputs.sourceBranch }}
 
       - name: Import GPG key
-        id: import_gpg
-        uses: crazy-max/ghaction-import-gpg@v6
+        uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 #v6.1.0 
         with:
           gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
-          passphrase: ${{ secrets.GPG_PASSPHRASE }}
-
+          passphrase: ${{ secrets.GPG_SECRET }}
+      
       - name: Set up JDK 11
         uses: actions/setup-java@v3
         with:
           distribution: temurin
           java-version: 11
           cache: 'maven'
-          server-id: ossrh
-          server-username: MAVEN_USERNAME
-          server-password: MAVEN_PASSWORD
+          server-id: github
+          gpg-passphrase: GPG_PASSPHRASE
+          gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
 
+      - name: Find version to use
+        id: version
+        run: |
+          if [[ "${{ github.event.inputs.releaseVersion }}" -eq  "auto" ]]; then
+            echo "No release version provided, using the latest version from the pom.xml"
+            new_version=`mvn -B help:evaluate -Dexpression=project.version -q -DforceStdout | sed -e 's/-SNAPSHOT$//'`
+            echo "New version will be $new_version"
+            echo version=$new_version >> $GITHUB_OUTPUT
+          else
+            echo version=${{ github.event.inputs.releaseVersion }} >> $GITHUB_OUTPUT
+          fi
+          
+      - name: Pre-Release Check - Version
+        env:
+           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: |
+          gh api --method GET /repos/${{github.repository}}/releases -f sort=updated -f direction=asc > releases.json
+          release_version_exists=$(jq -r --arg RELEASE_VERSION ${{ steps.version.outputs.version }} '.[].name|select(.|test($RELEASE_VERSION))'  releases.json)
+          if [[ ! -z "$release_version_exists" ]]; then
+                echo "Version ${{ steps.version.outputs.version }} has been previously released. Please change release version."
+                exit 1
+          else
+                echo "New version: ${{ steps.version.outputs.version }} going to be released!"
+          fi
+      
       - name: Configure Git author
         run: |
           git config --local user.email "action@github.com"
           git config --local user.name "GitHub Action"
+      
+
+      - name: Release Version - Prepare
+        run: >-
+          mvn -B -U versions:set 
+          -DnewVersion=${{ steps.version.outputs.version }} 
+          -DprocessAllModules 
+          -DgenerateBackupPoms=false
+
 
       - name: Update latest release version in docs
         run: |
           mvn -B -ntp -pl docs -am generate-resources -Denforcer.skip -Dformatter.skip -Dimpsort.skip
           if ! git diff --quiet docs/modules/ROOT/pages/includes/attributes.adoc; then
             git add docs/modules/ROOT/pages/includes/attributes.adoc
-            git commit -m "Update the latest release version ${{steps.metadata.outputs.current-version}} in documentation"
           fi
 
-      - name: Maven release ${{steps.metadata.outputs.current-version}}
+      - name: Release Version - Checkin
+        run: >-
+          mvn validate
+          scm:checkin
+          -DscmVersion=${{ github.event.inputs.sourceBranch }}
+          -DscmVersionType=branch
+          -Dmessage="[ci skip] prepare release ${{ steps.version.outputs.version }}" &&
+          mvn scm:tag  -Dtag=${{ steps.version.outputs.version }}
+
+
+      - name: GitHub Packages - Deploy Artifacts
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          GPG_PASSPHRASE: ${{ secrets.GPG_SECRET }}
         run: |
-          mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
-          mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease
+          mvn deploy -Dmaven.install.skip=true -DskipTests -Pgithub,publish
+      
+      - name: maven-settings-xml-action
+        uses: whelk-io/maven-settings-xml-action@v4
+        with:
+          servers: '[{ "id": "ossrh", "username": "${{ secrets.OSSRH_USER }}", "password": "${{ secrets.OSSRH_PASS }}" }]'
+      
+      - name: Maven Central - Deploy Artifacts
         env:
-          MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
-          MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
-
-      - name: Push changes to ${{github.base_ref}} branch
+          GPG_PASSPHRASE: ${{ secrets.GPG_SECRET }}
         run: |
-          git push
-          git push origin ${{steps.metadata.outputs.current-version}}
+          mvn deploy -Dmaven.install.skip=true -DskipTests -Possrh,publish
+
+      - name: Create GitHub Release
+        uses: ncipollo/release-action@v1
+        with:
+          tag: "${{ steps.version.outputs.version }}"
+          generateReleaseNotes: true
+          makeLatest: true
+  
+      - name: Next Develoment Version - Prepare and Checkin
+        run: >-
+          mvn -B -U build-helper:parse-version versions:set 
+          -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT
+          -DprocessAllModules 
+          -DgenerateBackupPoms=false &&
+          mvn validate scm:checkin
+          -DscmVersion=${{ github.event.inputs.sourceBranch }}
+          -DscmVersionType=branch
+          -Dmessage="[ci skip] prepare for next development iteration"
+
+
diff --git a/RELEASE.md b/RELEASE.md
new file mode 100644
index 0000000..4fb5d94
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,30 @@
+# Solace-Quarkus CD
+There is a github actions 'Quarkiverse Release' workflow, which will perform the following actions
+- Update and commit POMs to be a release version (eg `1.0.1` vs `1.0.1-SNAPSHOT`)
+  - Updates the versions within the docs as well
+  - The version can be explicitly set, or `auto` will use what is currently on the branch, and can be used for easily publishing incremental patch releases.
+- Perform a deploy, skipping tests, to both github packages, and ossrh
+- Tag, and create a release on github for this commit
+- Increment the minor version of all POMs and re-append `-SNAPSHOT`, (eg `1.0.2-SNAPSHOT`)
+
+## Workflows Supported
+### Trunk Based (main)
+Merge a feature branch to main. This branch should be updated from main and have all tests passing. Once in main, run the release workflow
+- Use the `auto` release version if this only requires a patch version bump, otherwise set an appropriate version
+
+### Release branch
+In the following depiction of main, trunk based would no longer work if the 1.0 release version need to be maintained with further patch releases
+```
+[#7fe6b95   Merge Feature branch PR #5] origin/main
+[#7a5bde8   [ci skip] prepare for next development iteration ]
+[#5ceb311   [ci skip] prepare release 2.0.0] <- Release Quarkiverse action run with releaseVersion=2.0.0
+[#5923308   Merge Feature branch PR #4 (Major overhaul)]
+[#a46a01a   [ci skip] prepare for next development iteration ] 
+[#e354653   [ci skip] prepare release 1.0.1]
+[#3923407   Merge Feature branch PR #3]
+[#d76a91b   [ci skip] prepare for next development iteration ]
+[#f85455c   [ci skip] prepare release 1.0.0]
+[#7d2115f   init]
+```
+In this case,  `git checkout -b release/1.0 a46a01a && git push` This is the sha of the last commit that belongs in this release branch, in this case, the commit setting the version to `1.0.2-SNAPSHOT`
+Now the same release workflow can be run, but with `sourceBranch=release/1.0`, and the 2 CI commits will land on the release branch instead of main
\ No newline at end of file
diff --git a/docs/modules/ROOT/pages/includes/attributes.adoc b/docs/modules/ROOT/pages/includes/attributes.adoc
index 19a687e..e1a2881 100644
--- a/docs/modules/ROOT/pages/includes/attributes.adoc
+++ b/docs/modules/ROOT/pages/includes/attributes.adoc
@@ -1,3 +1,3 @@
-:project-version: 0
+:project-version: ${release.current-version}
 
 :examples-dir: ./../examples/
\ No newline at end of file
diff --git a/docs/pom.xml b/docs/pom.xml
index f8f93d2..f7c695d 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -6,13 +6,13 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <artifactId>quarkus-solace-docs</artifactId>
     <name>Quarkus Solace - Documentation</name>
-
+    <version>0.0.1-SNAPSHOT</version>
     <dependencies>
         <!-- Make sure the doc is built after the other artifacts -->
         <dependency>
@@ -41,23 +41,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>it.ozimov</groupId>
-                <artifactId>yaml-properties-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>initialize</phase>
-                        <goals>
-                            <goal>read-project-properties</goal>
-                        </goals>
-                        <configuration>
-                            <files>
-                                <file>${project.basedir}/../.github/project.yml</file>
-                            </files>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <artifactId>maven-resources-plugin</artifactId>
                 <executions>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 548e664..1c0c877 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -4,10 +4,11 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
     <artifactId>quarkus-solace-integration-tests-parent</artifactId>
     <name>Quarkus Solace - Integration Tests - Parent</name>
+
     <packaging>pom</packaging>
     <modules>
         <module>solace-client-integration-tests</module>
diff --git a/integration-tests/solace-client-integration-tests/pom.xml b/integration-tests/solace-client-integration-tests/pom.xml
index 7230dd5..e896c52 100644
--- a/integration-tests/solace-client-integration-tests/pom.xml
+++ b/integration-tests/solace-client-integration-tests/pom.xml
@@ -7,7 +7,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-integration-tests-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>solace-client-integration-tests</artifactId>
diff --git a/pom.xml b/pom.xml
index 39ca21a..ac39e69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>io.quarkiverse</groupId>
@@ -9,23 +11,14 @@
   </parent>
   <groupId>com.solace.quarkus</groupId>
   <artifactId>quarkus-solace-parent</artifactId>
-  <version>999-SNAPSHOT</version>
+  <version>0.0.1-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Quarkus Solace - Parent</name>
 
-  <modules>
-    <module>quarkus-solace-client</module>
-    <module>quarkus-solace-messaging-connector</module>
-    <module>docs</module>
-    <module>samples/hello-solace</module>
-    <module>samples/hello-connector-solace</module>
-    <module>integration-tests</module>
-  </modules>
-
   <scm>
-    <connection>scm:git:git@github.com:SolaceCoEExt/solace-quarkus.git</connection>
-    <developerConnection>scm:git:git@github.com:SolaceCoEExt/solace-quarkus.git</developerConnection>
-    <url>https://github.com/SolaceCoEExt/solace-quarkus</url>
+    <connection>scm:git:https://github.com/SolaceDev/solace-quarkus-ci-dev.git</connection>
+    <developerConnection>scm:git:https://github.com/SolaceDev/solace-quarkus-ci-dev.git</developerConnection>
+    <url>https://github.com/SolaceDev/solace-quarkus-ci-dev</url>
   </scm>
 
   <properties>
@@ -106,5 +99,124 @@
         </plugin>
       </plugins>
     </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>parse-version</id>
+            <goals>
+              <goal>parse-version</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
   </build>
-</project>
+
+  <profiles>
+    <profile>
+      <id>development</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <modules>
+        <module>quarkus-solace-client</module>
+        <module>quarkus-solace-messaging-connector</module>
+        <module>docs</module>
+        <module>samples/hello-solace</module>
+        <module>samples/hello-connector-solace</module>
+        <module>integration-tests</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>publish</id>
+      <modules>
+        <module>quarkus-solace-client</module>
+        <module>quarkus-solace-messaging-connector</module>
+        <module>docs</module>
+      </modules>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <version>3.1.0</version>
+            <executions>
+              <execution>
+                <id>sign-artifacts</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+                <configuration>
+                  <!-- Prevent gpg from using pinentry programs -->
+                  <gpgArguments>
+                    <arg>--pinentry-mode</arg>
+                    <arg>loopback</arg>
+                  </gpgArguments>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <version>3.3.0</version>
+            <configuration>
+              <attach>true</attach>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>3.6.3</version>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>github</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <distributionManagement>
+        <repository>
+          <id>github</id>
+          <url>https://maven.pkg.github.com/SolaceDev/solace-quarkus-ci-dev</url>
+        </repository>
+        <snapshotRepository>
+          <id>github</id>
+          <url>https://maven.pkg.github.com/SolaceDev/solace-quarkus-ci-dev</url>
+        </snapshotRepository>
+      </distributionManagement>
+    </profile>
+    <profile>
+      <id>ossrh</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.sonatype.plugins</groupId>
+            <artifactId>nexus-staging-maven-plugin</artifactId>
+            <extensions>true</extensions>
+            <configuration>
+              <serverId>ossrh</serverId>
+              <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
+              <autoReleaseAfterClose>false</autoReleaseAfterClose>
+              <useReleaseProfile>false</useReleaseProfile>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>
\ No newline at end of file
diff --git a/quarkus-solace-client/deployment/pom.xml b/quarkus-solace-client/deployment/pom.xml
index 6fa3f55..b9639e6 100644
--- a/quarkus-solace-client/deployment/pom.xml
+++ b/quarkus-solace-client/deployment/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>com.solace.quarkus</groupId>
     <artifactId>quarkus-solace-client-parent</artifactId>
-    <version>999-SNAPSHOT</version>
+    <version>0.0.1-SNAPSHOT</version>
   </parent>
   <artifactId>quarkus-solace-client-deployment</artifactId>
   <name>Quarkus Solace Client - Deployment</name>
diff --git a/quarkus-solace-client/pom.xml b/quarkus-solace-client/pom.xml
index 4360b55..2b39457 100644
--- a/quarkus-solace-client/pom.xml
+++ b/quarkus-solace-client/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
     <artifactId>quarkus-solace-client-parent</artifactId>
     <name>Quarkus Solace Client - Parent</name>
diff --git a/quarkus-solace-client/runtime/pom.xml b/quarkus-solace-client/runtime/pom.xml
index f8f61ce..3e68551 100644
--- a/quarkus-solace-client/runtime/pom.xml
+++ b/quarkus-solace-client/runtime/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>com.solace.quarkus</groupId>
     <artifactId>quarkus-solace-client-parent</artifactId>
-    <version>999-SNAPSHOT</version>
+    <version>0.0.1-SNAPSHOT</version>
   </parent>
   <artifactId>quarkus-solace-client</artifactId>
   <name>Quarkus Solace Client - Runtime</name>
diff --git a/quarkus-solace-messaging-connector/deployment/pom.xml b/quarkus-solace-messaging-connector/deployment/pom.xml
index bdea0cb..1818b41 100644
--- a/quarkus-solace-messaging-connector/deployment/pom.xml
+++ b/quarkus-solace-messaging-connector/deployment/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-messaging-connector-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
     <artifactId>quarkus-solace-messaging-connector-deployment</artifactId>
     <name>Quarkus Solace Messaging Connector - Deployment</name>
diff --git a/quarkus-solace-messaging-connector/pom.xml b/quarkus-solace-messaging-connector/pom.xml
index 1ffdd58..9bfc954 100644
--- a/quarkus-solace-messaging-connector/pom.xml
+++ b/quarkus-solace-messaging-connector/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
     <artifactId>quarkus-solace-messaging-connector-parent</artifactId>
     <name>Quarkus Solace Messaging Connector - Parent</name>
diff --git a/quarkus-solace-messaging-connector/runtime/pom.xml b/quarkus-solace-messaging-connector/runtime/pom.xml
index 6246485..45c1b5c 100644
--- a/quarkus-solace-messaging-connector/runtime/pom.xml
+++ b/quarkus-solace-messaging-connector/runtime/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-messaging-connector-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
     </parent>
     <artifactId>quarkus-solace-messaging-connector</artifactId>
     <name>Quarkus Solace Messaging Connector - Runtime</name>
diff --git a/samples/hello-connector-solace/pom.xml b/samples/hello-connector-solace/pom.xml
index 2cfe197..9a06131 100644
--- a/samples/hello-connector-solace/pom.xml
+++ b/samples/hello-connector-solace/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <artifactId>quarkus-solace-sample-connector-hello</artifactId>
diff --git a/samples/hello-solace/pom.xml b/samples/hello-solace/pom.xml
index 640cdc1..4740ba3 100644
--- a/samples/hello-solace/pom.xml
+++ b/samples/hello-solace/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>com.solace.quarkus</groupId>
         <artifactId>quarkus-solace-parent</artifactId>
-        <version>999-SNAPSHOT</version>
+        <version>0.0.1-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <artifactId>quarkus-solace-sample-hello</artifactId>

From 2d4aa1ee6196a180caed3ef6fd4ded005fbce3aa Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Wed, 7 Feb 2024 11:04:16 -0500
Subject: [PATCH 2/8] Update pom.xml

---
 pom.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index ac39e69..985934d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,9 +16,9 @@
   <name>Quarkus Solace - Parent</name>
 
   <scm>
-    <connection>scm:git:https://github.com/SolaceDev/solace-quarkus-ci-dev.git</connection>
-    <developerConnection>scm:git:https://github.com/SolaceDev/solace-quarkus-ci-dev.git</developerConnection>
-    <url>https://github.com/SolaceDev/solace-quarkus-ci-dev</url>
+    <connection>scm:git:https://github.com/SolaceLabs/solace-quarkus.git</connection>
+    <developerConnection>scm:git:https://github.com/SolaceLabs/solace-quarkus.git</developerConnection>
+    <url>https://github.com/SolaceLabs/solace-quarkus</url>
   </scm>
 
   <properties>
@@ -219,4 +219,4 @@
       </build>
     </profile>
   </profiles>
-</project>
\ No newline at end of file
+</project>

From 56386cf612bbbd3fd5e2a1f6c6abe1d6b8c2283d Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Wed, 7 Feb 2024 11:11:22 -0500
Subject: [PATCH 3/8] Fix github mvn repository location

---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 985934d..c187de4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -192,11 +192,11 @@
       <distributionManagement>
         <repository>
           <id>github</id>
-          <url>https://maven.pkg.github.com/SolaceDev/solace-quarkus-ci-dev</url>
+          <url>https://maven.pkg.github.com/SolaceLabs/solace-quarkus</url>
         </repository>
         <snapshotRepository>
           <id>github</id>
-          <url>https://maven.pkg.github.com/SolaceDev/solace-quarkus-ci-dev</url>
+          <url>https://maven.pkg.github.com/SolaceLabs/solace-quarkus</url>
         </snapshotRepository>
       </distributionManagement>
     </profile>

From 190817064eb1469f08bec4dba801ec200348db35 Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Fri, 9 Feb 2024 12:29:01 -0500
Subject: [PATCH 4/8] Run Tests prior to making release

---
 .github/workflows/release.yml | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 4008010..1350cd4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -72,6 +72,9 @@ jobs:
                 echo "New version: ${{ steps.version.outputs.version }} going to be released!"
           fi
       
+      - name: Run Testsd
+        run: mvn verify
+      
       - name: Configure Git author
         run: |
           git config --local user.email "action@github.com"
@@ -108,7 +111,7 @@ jobs:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           GPG_PASSPHRASE: ${{ secrets.GPG_SECRET }}
         run: |
-          mvn deploy -Dmaven.install.skip=true -DskipTests -Pgithub,publish
+          mvn deploy -Dmaven.install.skip=true -Pgithub,publish
       
       - name: maven-settings-xml-action
         uses: whelk-io/maven-settings-xml-action@v4
@@ -119,7 +122,7 @@ jobs:
         env:
           GPG_PASSPHRASE: ${{ secrets.GPG_SECRET }}
         run: |
-          mvn deploy -Dmaven.install.skip=true -DskipTests -Possrh,publish
+          mvn deploy -Dmaven.install.skip=true -Possrh,publish
 
       - name: Create GitHub Release
         uses: ncipollo/release-action@v1

From 397b45175acf9bbad453f5929d8b2edd2b9997b8 Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Fri, 9 Feb 2024 12:53:00 -0500
Subject: [PATCH 5/8] Publish Test Results

---
 .github/workflows/release.yml | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1350cd4..4e75a72 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -72,15 +72,6 @@ jobs:
                 echo "New version: ${{ steps.version.outputs.version }} going to be released!"
           fi
       
-      - name: Run Testsd
-        run: mvn verify
-      
-      - name: Configure Git author
-        run: |
-          git config --local user.email "action@github.com"
-          git config --local user.name "GitHub Action"
-      
-
       - name: Release Version - Prepare
         run: >-
           mvn -B -U versions:set 
@@ -95,6 +86,30 @@ jobs:
           if ! git diff --quiet docs/modules/ROOT/pages/includes/attributes.adoc; then
             git add docs/modules/ROOT/pages/includes/attributes.adoc
           fi
+      
+      - name: Verify Maven
+        run: mvn verify
+      
+      - name: Publishing Test Results - Unit/Integration Tests Pre-Condition
+        if: always()
+        id: unit_integration_test_report_exists
+        uses: andstor/file-existence-action@v2
+        with:
+          files: "**/target/failsafe-reports/**/TEST*.xml,**/surefire-reports/**/TEST*.xml"
+      
+      - name: Publishing Test Results - Unit/Integration Tests
+        uses: dorny/test-reporter@v1.7.0
+        if: always() && steps.unit_integration_test_report_exists.outputs.files_exists == 'true'
+        with:
+          name: Unit-Integration Tests
+          path: "**/target/failsafe-reports/**/TEST*.xml,**/surefire-reports/**/TEST*.xml"
+          reporter: java-junit
+          only-summary: 'true'
+      
+      - name: Configure Git author
+        run: |
+          git config --local user.email "action@github.com"
+          git config --local user.name "GitHub Action"
 
       - name: Release Version - Checkin
         run: >-

From 08d0ca84c6e7a118a13ff43caea9d95dd5a26175 Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Fri, 9 Feb 2024 13:25:53 -0500
Subject: [PATCH 6/8] Update Test reporting inclusions

---
 .github/workflows/release.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 4e75a72..3771f53 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -95,14 +95,15 @@ jobs:
         id: unit_integration_test_report_exists
         uses: andstor/file-existence-action@v2
         with:
-          files: "**/target/failsafe-reports/**/TEST*.xml,**/surefire-reports/**/TEST*.xml"
+          files: "**/surefire-reports/**/TEST*.xml"
       
       - name: Publishing Test Results - Unit/Integration Tests
         uses: dorny/test-reporter@v1.7.0
         if: always() && steps.unit_integration_test_report_exists.outputs.files_exists == 'true'
         with:
-          name: Unit-Integration Tests
-          path: "**/target/failsafe-reports/**/TEST*.xml,**/surefire-reports/**/TEST*.xml"
+          name: Test Results
+          path: "**/surefire-reports/**/TEST*.xml"
+          fail-on-error: 'false'
           reporter: java-junit
           only-summary: 'true'
       

From e40925d9ed02ef09bc4b373ff34908dc4add5528 Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Fri, 9 Feb 2024 14:41:51 -0500
Subject: [PATCH 7/8] Update token permissions

---
 .github/workflows/release.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3771f53..6ec05cc 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,6 +21,8 @@ defaults:
 permissions:
   contents: write
   packages: write
+  checks: write
+
 
 jobs:
   release:

From 099002fe33a6663cc760e132ef33c956664e2523 Mon Sep 17 00:00:00 2001
From: Clark Bains <Clark.Bains@solace.com>
Date: Mon, 12 Feb 2024 09:17:47 -0500
Subject: [PATCH 8/8] Remove docs module from publishing

---
 pom.xml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index c187de4..f2bf63e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,6 @@
       <modules>
         <module>quarkus-solace-client</module>
         <module>quarkus-solace-messaging-connector</module>
-        <module>docs</module>
       </modules>
       <build>
         <plugins>