Skip to content

chore: release 6.6.8 #115

chore: release 6.6.8

chore: release 6.6.8 #115

Workflow file for this run

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 QOSDK
if: ${{github.event.pull_request.merged == true}}
outputs:
released: ${{ steps.wait-for-bom.outputs.published }}
qosdk-version: ${{ steps.metadata.outputs.current-version }}
quarkus-version: ${{ steps.quarkus-version.outputs.quarkus_version }}
quarkus-platform-branch: ${{ steps.release-qosdk.outputs.quarkus_platform_branch }}
needs-quarkus-platform-main-pr: ${{ steps.release-qosdk.outputs.need_main_pr }}
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: Retrieve Quarkus version
id: quarkus-version
run: echo "quarkus_version=$(mvn help:evaluate -Dexpression=quarkus.version -q -DforceStdout)" >> $GITHUB_OUTPUT
- uses: actions/setup-java@v4
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: Maven release ${{steps.metadata.outputs.current-version}}
id: release-qosdk
run: |
quarkus_major=$(echo ${{steps.quarkus-version.outputs.quarkus_version}} | cut -d . -f 1,2)
echo "QOSDK-defined Quarkus major version: ${quarkus_major}"
quarkus_platform_version=$(curl -s https://registry.quarkus.io/client/platforms | jq -r '.platforms[0]."current-stream-id"')
echo "Current platform-defined Quarkus major version: ${quarkus_platform_version}"
quarkus_platform_branch=main
if [ "${quarkus_major}" = "${quarkus_platform_version}" ]; then
quarkus_platform_branch="${quarkus_platform_version}"
fi
echo "quarkus_platform_branch=${quarkus_platform_branch}" >> $GITHUB_OUTPUT
if [ "${quarkus_platform_branch}" = "main" ]; then
echo "quarkus-platform update will target main"
else
echo "quarkus-platform update will target ${quarkus_platform_branch}"
echo "Check if quarkus-platform also needs to be updated on main"
if [ "${{ github.base_ref }}" = "main" ]; then
echo "PR targes main so assume quarkus-platform main also needs to be updated"
echo "need_main_pr=true" >> $GITHUB_OUTPUT
else
echo "No need for PR on quarkus-platform main"
echo "need_main_pr=false" >> $GITHUB_OUTPUT
fi
fi
git checkout -b release
mvn -B release:prepare -Prelease -Darguments="-DperformRelease -Dno-samples -DskipTests" -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
git checkout ${{github.base_ref}}
git rebase release
mvn -B release:perform -Darguments="-DperformRelease -Dno-samples -DskipTests" -DperformRelease -Prelease
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- name: Wait for QOSDK BOM to be published
uses: quarkusio/monitor-artifact-publication-action@main
id: wait-for-bom
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
group-id: io.quarkiverse.operatorsdk
artifact-id: quarkus-operator-sdk-bom
version: ${{steps.metadata.outputs.current-version}}
initial-delay: 10
poll-delay: 2
poll-iterations: 4
post-delay: 5
- name: Push tags
run: git push && git push --tags
update-java-plugins:
needs:
- release
uses: ./.github/workflows/release-update-java-operator-plugins.yml
# only update java-operator-plugins if we are releasing the latest version of QOSDK
if: "${{ needs.release.outputs.released && needs.release.outputs.needs-quarkus-platform-main-pr == 'true' }}"
with:
qosdk-version: ${{needs.release.outputs.qosdk-version}}
quarkus-version: ${{needs.release.outputs.quarkus-version}}
secrets:
qosdk-bot-token: ${{ secrets.QOSDK_BOT_TOKEN }}
update-quarkus-platform:
needs:
- release
uses: ./.github/workflows/release-update-quarkus-platform.yml
if: "${{ needs.release.outputs.released }}"
with:
qosdk-version: ${{needs.release.outputs.qosdk-version}}
quarkus-platform-branch: ${{needs.release.outputs.quarkus-platform-branch}}
needs-main-pr: ${{ needs.release.outputs.needs-quarkus-platform-main-pr == 'true' }}
secrets:
qosdk-bot-token: ${{ secrets.QOSDK_BOT_TOKEN }}