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