@@ -208,21 +208,42 @@ jobs:
208208 os=$(go env GOOS)
209209 arch=$(go env GOARCH)
210210
211- # Download with fail-on-error flag - new format doesn't include version in filename
211+ # Download kubebuilder binary
212212 echo "Downloading Kubebuilder ${KUBEBUILDER_VERSION} for ${os}_${arch}..."
213- curl -fL -o /tmp/kubebuilder https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${os}_${arch}
213+
214+ # Try downloading with the standard filename format
215+ DOWNLOAD_URL="https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${os}_${arch}"
216+ echo "Attempting to download from: ${DOWNLOAD_URL}"
217+
218+ if ! curl -fL -o /tmp/kubebuilder "${DOWNLOAD_URL}"; then
219+ echo "ERROR: Failed to download Kubebuilder from ${DOWNLOAD_URL}"
220+ echo "Trying alternative download location..."
221+
222+ # Try alternative format with tar.gz
223+ DOWNLOAD_URL="https://github.com/kubernetes-sigs/kubebuilder/releases/download/v${KUBEBUILDER_VERSION}/kubebuilder_${os}_${arch}.tar.gz"
224+ if curl -fL -o /tmp/kubebuilder.tar.gz "${DOWNLOAD_URL}"; then
225+ cd /tmp
226+ tar -xzf kubebuilder.tar.gz
227+ mv kubebuilder_${KUBEBUILDER_VERSION}_${os}_${arch}/bin/kubebuilder /tmp/kubebuilder
228+ rm -rf kubebuilder.tar.gz kubebuilder_${KUBEBUILDER_VERSION}_${os}_${arch}
229+ else
230+ echo "ERROR: Failed to download Kubebuilder from alternative location"
231+ exit 1
232+ fi
233+ fi
214234
215235 # Verify the downloaded binary is valid
216236 FILE_SIZE=$(stat -c%s /tmp/kubebuilder 2>/dev/null || stat -f%z /tmp/kubebuilder 2>/dev/null || echo "0")
217237 if [ "$FILE_SIZE" -lt 1000 ]; then
218238 echo "ERROR: Downloaded file is too small (${FILE_SIZE} bytes). Download may have failed."
219- echo "File contents:"
220- head -n 20 /tmp/kubebuilder
239+ echo "File info:"
240+ ls -lh /tmp/kubebuilder
241+ echo "File type: $(file /tmp/kubebuilder)"
221242 exit 1
222243 fi
223244
224- # Check if it's a valid binary
225- if ! file /tmp/kubebuilder | grep -q "executable"; then
245+ # Verify it's a valid executable
246+ if ! file /tmp/kubebuilder | grep -qE "executable|ELF "; then
226247 echo "ERROR: Downloaded file is not a valid executable"
227248 echo "File type: $(file /tmp/kubebuilder)"
228249 exit 1
@@ -234,6 +255,9 @@ jobs:
234255 sudo mv /tmp/kubebuilder /usr/local/kubebuilder/bin/kubebuilder
235256 echo "/usr/local/kubebuilder/bin" >> $GITHUB_PATH
236257
258+ # Verify installation
259+ /usr/local/kubebuilder/bin/kubebuilder version || echo "Kubebuilder installed but version command not available"
260+
237261 - name : Validate component directory
238262 run : |
239263 # Check if component directory exists, if not look in deploy/docker/
0 commit comments