Skip to content

Commit 58dc95f

Browse files
committed
chore(ci): make it possible to manually build with specific F8 client
Note that this only works when applied to a branch that overrides which Fabric8 client version is used (by explicitly using its BOM). Signed-off-by: Chris Laprun <claprun@redhat.com>
1 parent 80c494c commit 58dc95f

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

.github/workflows/build-for-quarkus-version.yml

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@ on:
4444
description: 'Quarkus PR number to use to run a QOSDK build with'
4545
type: string
4646
required: false
47+
fkc-pr:
48+
description: 'Fabric8 client PR number to use to run a QOSDK build with'
49+
type: string
50+
required: false
51+
fkc-version:
52+
description: 'Fabric8 client version to run a QOSDK build with'
53+
type: string
54+
required: false
4755
java-version:
4856
description: 'Java version to build with'
4957
type: string
@@ -129,6 +137,25 @@ jobs:
129137
mvn -Dquickly
130138
cd -
131139
140+
- name: Check-out Fabric8 client PR if requested
141+
uses: actions/checkout@v4
142+
if: "${{ inputs.fkc-pr != '' }}"
143+
with:
144+
repository: fabric8io/kubernetes-client
145+
path: fkc
146+
147+
- name: Build Fabric8 client PR if requested
148+
if: "${{ inputs.fkc-pr != '' }}"
149+
id: build-fkc-pr
150+
run: |
151+
cd fkc
152+
git fetch origin pull/${{ github.event.inputs.fkc-pr }}/head:pr-to-check
153+
git switch pr-to-check
154+
mvn versions:set -DnewVersion=999.${{ github.event.inputs.fkc-pr }}-SNAPSHOT versions:commit
155+
echo "f8_pr_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT
156+
mvn clean install -DskipTests
157+
cd -
158+
132159
- name: Retrieve Quarkus version from platform
133160
if: "${{ inputs.quarkus-version == '' && inputs.quarkus-pr == ''}}"
134161
id: get-quarkus-version
@@ -166,18 +193,37 @@ jobs:
166193
echo "Using Quarkus ${{ steps.quarkus-version.outputs.quarkus_version }}"
167194
mvn versions:set-property -P'${{steps.set-mvn-profiles.outputs.maven_profiles}}' -Dproperty=quarkus.version -DnewVersion=${{ steps.quarkus-version.outputs.quarkus_version }}
168195
196+
- name: Change Fabric8 client version
197+
id: fkc-version
198+
if: "${{ inputs.fkc-pr != '' || inputs.fkc-version != '' }}"
199+
run: |
200+
if [[ -n "${{ inputs.fkc-version }}" ]]; then
201+
fkc_version="${{ inputs.fkc-version }}"
202+
fi
203+
if [[ -n "${{ inputs.fkc-pr }}" ]]; then
204+
fkc_version=${{ steps.build-fkc-pr.outputs.f8_pr_version }}
205+
fi
206+
echo "Using Fabric8 ${fkc_version}"
207+
mvn versions:set-property -Dproperty=fabric8-client.version -DnewVersion=${fkc_version}
208+
echo "fkc_version=${fkc_version}" >> $GITHUB_OUTPUT
209+
169210
- name: Output versions being used
170211
run: |
171212
echo "QOSDK version: $(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)"
172213
echo "JOSDK version: $(mvn help:evaluate -Dexpression=java-operator-sdk.version -q -DforceStdout)"
173214
echo "JOSDK Fabric8 version: ${{ steps.build-josdk-pr.outputs.josdk_f8_version }}"
215+
echo "JOSDK overridden Fabric8 version ${{ steps.fkc-version.outputs.fkc_version }}"
174216
echo "Quarkus version: $(mvn help:evaluate -Dexpression=quarkus.version -q -DforceStdout)"
175217
echo "Quarkus Fabric8 version: ${{ steps.build-quarkus-pr.outputs.quarkus_f8_version }}"
176218
echo "Effective Fabric8 version: $(mvn dependency:tree -Dincludes=io.fabric8:kubernetes-client-api -pl core/deployment | grep io.fabric8:kubernetes-client-api -m1 | cut -d ':' -f 4)"
177219
178220
- name: Build with Maven (JVM)
179221
run: mvn -B formatter:validate install -P'${{steps.set-mvn-profiles.outputs.maven_profiles}}' --file pom.xml
180222

223+
- name: Dependency tree on failure
224+
if: failure()
225+
run: mvn -B dependency:tree -Dverbose
226+
181227
- name: Kubernetes KinD Cluster
182228
uses: container-tools/kind-action@v2
183229
with:
@@ -193,7 +239,7 @@ jobs:
193239
- name: Install Operator Lifecycle Manager and Operator SDK into Kind
194240
run: operator-sdk olm install --version v0.23.0
195241

196-
# Joke sample currently doesn't validate with OLM v1 because it bundles required Joke CRD, which v1 thinks should be owned
242+
# Joke sample currently doesn't validate with OLM v1 because it bundles required Joke CRD, which v1 thinks should be owned
197243
- name: Validate OLM bundles (excluding Joke sample)
198244
run: |
199245
cd samples/

0 commit comments

Comments
 (0)