@@ -24,44 +24,23 @@ jobs:
24
24
25
25
outputs :
26
26
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}}
29
28
30
29
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
32
34
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
34
38
35
- - name : Gather versions
36
- id : versions
39
+ - name : Parse QOSDK metadata
40
+ id : qosdk-metadata
37
41
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
65
44
66
45
- name : Wait for QOSDK BOM to be published
67
46
uses : quarkusio/monitor-artifact-publication-action@main
@@ -76,22 +55,12 @@ jobs:
76
55
poll-iterations : 10
77
56
post-delay : 0
78
57
79
- update- quarkus-platform-branch :
58
+ quarkus-platform-branch-pull-requests :
80
59
uses : ./.github/workflows/release-quarkus-platform-pr.yml
81
60
needs :
82
61
- prepare-platform-pr
83
62
with :
84
63
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 }}
86
65
secrets :
87
66
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