diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml
index 63d9d0f..afe17b3 100644
--- a/.github/workflows/pre-release.yml
+++ b/.github/workflows/pre-release.yml
@@ -5,21 +5,12 @@ on:
paths:
- '.github/project.yml'
-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'
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
- - 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
+jobs:
+ pre-release:
+ name: Pre-Release
+ uses: quarkiverse/.github/.github/workflows/pre-release.yml@main
+ secrets: inherit
diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml
new file mode 100644
index 0000000..aedad93
--- /dev/null
+++ b/.github/workflows/release-perform.yml
@@ -0,0 +1,18 @@
+name: Quarkiverse Prepare Release
+
+on:
+ pull_request:
+ types: [ closed ]
+ paths:
+ - '.github/project.yml'
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ prepare-release:
+ name: Prepare Release
+ if: ${{ github.event.pull_request.merged == true}}
+ uses: quarkiverse/.github/.github/workflows/prepare-release.yml@main
+ secrets: inherit
diff --git a/.github/workflows/release-prepare.yml b/.github/workflows/release-prepare.yml
new file mode 100644
index 0000000..88f9437
--- /dev/null
+++ b/.github/workflows/release-prepare.yml
@@ -0,0 +1,28 @@
+name: Quarkiverse Perform Release
+run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release
+on:
+ push:
+ tags:
+ - '*'
+ workflow_dispatch:
+ inputs:
+ tag:
+ description: 'Tag to release'
+ required: true
+
+permissions:
+ attestations: write
+ id-token: write
+ contents: read
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ perform-release:
+ name: Perform Release
+ uses: quarkiverse/.github/.github/workflows/perform-release.yml@main
+ secrets: inherit
+ with:
+ version: ${{github.event.inputs.tag || github.ref_name}}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index af5e4b6..0000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,71 +0,0 @@
-name: Quarkiverse Release
-
-on:
- pull_request:
- types: [closed]
- 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: release
- if: ${{github.event.pull_request.merged == true}}
-
- steps:
- - uses: radcortez/project-metadata-action@main
- name: Retrieve project metadata
- id: metadata
- with:
- github-token: ${{secrets.GITHUB_TOKEN}}
- metadata-file-path: '.github/project.yml'
-
- - uses: actions/checkout@v4
-
-
- - name: Set up JDK 17
- uses: actions/setup-java@v2
- with:
- distribution: temurin
- java-version: 17
- cache: 'maven'
- server-id: ossrh
- server-username: MAVEN_USERNAME
- server-password: MAVEN_PASSWORD
- gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
- gpg-passphrase: MAVEN_GPG_PASSPHRASE
-
- - name: Configure Git author
- run: |
- git config --local user.email "action@github.com"
- git config --local user.name "GitHub Action"
-
- - 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; then
- git add docs/modules/ROOT/pages/includes
- git commit -m "Update the latest release version ${{steps.metadata.outputs.current-version}} in documentation"
- fi
-
- - name: Maven release ${{steps.metadata.outputs.current-version}}
- 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
- env:
- MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
- MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
- MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
-
- - name: Push changes to ${{github.base_ref}} branch
- run: |
- git push
- git push origin ${{steps.metadata.outputs.current-version}}
diff --git a/pom.xml b/pom.xml
index 328deba..a73707f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
3.17.0
- 3.46.1.3
+ 3.47.0.0