Skip to content

Commit 74d88c6

Browse files
committed
chore: move Quarkus platform PR info to the project.yml file
Signed-off-by: xstefank <xstefank122@gmail.com>
1 parent 119ed6e commit 74d88c6

File tree

3 files changed

+26
-53
lines changed

3 files changed

+26
-53
lines changed

.github/project.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@ name: Java Operator SDK Extension
22
release:
33
current-version: 7.0.0.CR1
44
next-version: 7.0.0-SNAPSHOT
5-
5+
quarkus-platform-branches:
6+
- "main"
7+
- "3.17"

.github/workflows/release-quarkus-platform-pr.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,32 @@ on:
66
qosdk-version:
77
type: string
88
required: true
9-
quarkus-platform-branch:
9+
quarkus-platform-branches:
1010
type: string
11-
required: false
12-
default: 'main'
11+
required: true
1312
secrets:
1413
qosdk-bot-token:
1514
required: true
1615

1716
jobs:
1817
quarkus-platform-pr:
1918
runs-on: ubuntu-latest
19+
strategy:
20+
matrix:
21+
quarkus-platform-branch: ${{ fromJson(inputs.quarkus-platform-branches) }}
2022
steps:
2123
- uses: actions/checkout@v4
2224
with:
2325
repository: quarkusio/quarkus-platform
24-
ref: ${{inputs.quarkus-platform-branch}}
26+
ref: ${{matrix.quarkus-platform-branch}}
2527

2628
- uses: actions/setup-java@v4
2729
with:
2830
distribution: 'temurin'
2931
java-version: 17
3032
cache: 'maven'
3133

32-
- name: Update QOSDK version to ${{inputs.qosdk-version}} in quarkus-platform ${{inputs.quarkus-platform-branch}}
34+
- name: Update QOSDK version to ${{inputs.qosdk-version}} in quarkus-platform ${{matrix.quarkus-platform-branch}}
3335
run: |
3436
./mvnw -B versions:set-property -Dproperty=quarkus-operator-sdk.version -DnewVersion=${{inputs.qosdk-version}}
3537
./mvnw -Dsync
@@ -38,11 +40,11 @@ jobs:
3840
uses: peter-evans/create-pull-request@v7
3941
id: qp-pr
4042
with:
41-
title: "Update QOSDK to ${{inputs.qosdk-version}} for ${{inputs.quarkus-platform-branch}}"
43+
title: "Update QOSDK to ${{inputs.qosdk-version}} for ${{matrix.quarkus-platform-branch}}"
4244
commit-message: "Update QOSDK to ${{inputs.qosdk-version}}"
4345
committer: metacosm <metacosm@users.noreply.github.com>
4446
author: metacosm <metacosm@users.noreply.github.com>
45-
branch: qosdk-release-${{inputs.qosdk-version}}-${{inputs.quarkus-platform-branch}}
47+
branch: qosdk-release-${{inputs.qosdk-version}}-${{matrix.quarkus-platform-branch}}
4648
token: ${{ secrets.qosdk-bot-token }}
4749
push-to-fork: qosdk-bot/quarkus-platform
4850
delete-branch: true

.github/workflows/release-update-quarkus-platform.yml

Lines changed: 14 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -24,44 +24,23 @@ jobs:
2424

2525
outputs:
2626
released: ${{steps.wait-for-bom.outputs.published}}
27-
quarkus-platform-branch: ${{steps.versions.outputs.quarkus_platform_branch}}
28-
needs-main-pr: ${{ steps.versions.outputs.needs_main_pr == 'true' }}
27+
quarkus-platform-branches: ${{steps.qosdk-metadata.outputs.quarkus_platform_branches}}
2928

3029
steps:
31-
- uses: actions/checkout@v4
30+
# TODO change this to radcortez/project-metadata-action@main if https://github.com/radcortez/project-metadata-action/pull/18 is merged
31+
- uses: xstefank/project-metadata-action@json-output
32+
name: Retrieve project metadata
33+
id: metadata
3234
with:
33-
ref: ${{github.event.inputs.tag || github.ref_name}}
35+
github-token: ${{secrets.GITHUB_TOKEN}}
36+
metadata-file-path: '.github/project.yml'
37+
local-file: true
3438

35-
- name: Gather versions
36-
id: versions
39+
- name: Parse QOSDK metadata
40+
id: qosdk-metadata
3741
run: |
38-
quarkus_version=$(./mvnw help:evaluate -Dexpression=quarkus.version -q -DforceStdout)
39-
quarkus_major=$(echo ${quarkus_version} | cut -d . -f 1,2)
40-
echo "QOSDK-defined Quarkus version: ${quarkus_version} (-> major: ${quarkus_major})"
41-
42-
quarkus_platform_version=$(curl -s https://registry.quarkus.io/client/platforms | jq -r '.platforms[0]."current-stream-id"')
43-
echo "Current platform-defined Quarkus major version: ${quarkus_platform_version}"
44-
45-
quarkus_platform_branch=${quarkus_major}
46-
if [ "${quarkus_major}" = "${quarkus_platform_version}" ]; then
47-
quarkus_platform_branch="${quarkus_platform_version}"
48-
fi
49-
echo "quarkus_platform_branch=${quarkus_platform_branch}" >> $GITHUB_OUTPUT
50-
51-
if [ "${quarkus_platform_branch}" = "main" ]; then
52-
echo "quarkus-platform update will target main"
53-
echo "need_main_pr=true" >> $GITHUB_OUTPUT
54-
else
55-
echo "quarkus-platform update will target ${quarkus_platform_branch}"
56-
echo "Check if quarkus-platform also needs to be updated on main"
57-
if [ "${{ github.base_ref }}" = "main" ]; then
58-
echo "PR targets main so assume quarkus-platform main also needs to be updated"
59-
echo "need_main_pr=true" >> $GITHUB_OUTPUT
60-
else
61-
echo "No need for PR on quarkus-platform main"
62-
echo "need_main_pr=false" >> $GITHUB_OUTPUT
63-
fi
64-
fi
42+
quarkus_platform_branches=$(echo '${{steps.metadata.outputs.json}}' | jq -c '.release.["quarkus-platform-branches"]')
43+
echo "quarkus_platform_branches=${quarkus_platform_branches}" >> $GITHUB_OUTPUT
6544
6645
- name: Wait for QOSDK BOM to be published
6746
uses: quarkusio/monitor-artifact-publication-action@main
@@ -76,22 +55,12 @@ jobs:
7655
poll-iterations: 10
7756
post-delay: 0
7857

79-
update-quarkus-platform-branch:
58+
quarkus-platform-branch-pull-requests:
8059
uses: ./.github/workflows/release-quarkus-platform-pr.yml
8160
needs:
8261
- prepare-platform-pr
8362
with:
8463
qosdk-version: ${{github.event.inputs.tag || github.ref_name}}
85-
quarkus-platform-branch: ${{needs.prepare-platform-pr.outputs.quarkus-platform-branch}}
64+
quarkus-platform-branches: ${{needs.prepare-platform-pr.outputs.quarkus-platform-branches}}
8665
secrets:
8766
qosdk-bot-token: ${{ secrets.QOSDK_BOT_TOKEN }}
88-
89-
update-quarkus-platform-main-if-needed:
90-
needs:
91-
- prepare-platform-pr
92-
if: ${{ needs.prepare-platform-pr.outputs.needs-main-pr && needs.prepare-platform-pr.outputs.quarkus-platform-branch != 'main' }}
93-
uses: ./.github/workflows/release-quarkus-platform-pr.yml
94-
with:
95-
qosdk-version: ${{github.event.inputs.tag || github.ref_name}}
96-
secrets:
97-
qosdk-bot-token: ${{ secrets.QOSDK_BOT_TOKEN }}

0 commit comments

Comments
 (0)