jenkins-x/jx

JX cluster `verify` jobs failing with 404 when using GitHub pages for charts

haysclark opened this issue · 1 comments

Summary

It appears that build times for GitHub pages have increased recently, which has exposed a race condition for folks using GitHub pages for charts.

Steps to reproduce the behavior

Have a JX cluster setup to use GitHub pages for charts. Trigger a release in any project so that a new chart will be added to GitHub pages and a PR will be opened on the dev cluster repo.

Detailed break-down

  1. The release build will call the promote-helm-release step from jenkins-x/jx3-pipeline-catalog.
  2. The step then runs the following command: jx gitops helm release. - Source for jx-gitops helm release
  3. The logic checks if pages has been configured in the jx-requirements.yml - Source
  4. If pages is enabled, then ChartPageRegistry() is run - Source
  5. The logic will perform a git commit and git push

Expected behavior

After performing the git commit and git push there should be another step to wait until the new chart has been successfully published by GitHub.

Waiting for the Chart to be published will prevent any race condition downstream.

Actual behavior

If it takes longer than ~1m 17s for GitHub to generate and deploy the GitHub page, the verify job will fail.

Jx version

The output of jx version is:

version: 3.4.12
shaCommit: 845b21dd2c9ccadd3ac899ab7ad67bfbe0a87f1b
buildDate: Thu Aug 25 12:30:51 UTC 2022
goVersion: 1.17.9
branch: main
gitTreeState: clean

kubectl version

The output of kubectl version --short is:

Client Version: v1.24.2
Kustomize Version: v4.5.4
Server Version: v1.22.11-gke.400

Jenkins type

Serverless Jenkins X Pipelines (Tekton + Prow)

Kubernetes cluster

GKE

Operating system / Environment

MacOS