9494 GKE_ZONE : " us-east1-c"
9595 GKE_PROJECT : " vmware-kubeapps-ci"
9696 GKE_CLUSTER : " kubeapps-test"
97+ CHART_OCI_REPO : " ghcr.io/sap/kubeapps"
9798
9899jobs :
99100 setup :
@@ -623,8 +624,9 @@ jobs:
623624 - name : Login to Docker Hub
624625 uses : docker/login-action@v3
625626 with :
626- username : ${{ secrets.DOCKER_USERNAME }}
627- password : ${{ secrets.DOCKER_PASSWORD }}
627+ registry : ghcr.io
628+ username : ${{ github.actor }}
629+ password : ${{ secrets.GITHUB_TOKEN }}
628630 - uses : actions/download-artifact@v4
629631 - run : |
630632 set -eu
@@ -646,128 +648,62 @@ jobs:
646648 docker load --input "${artifact}/${artifact}.tar"
647649
648650 dev_image=${IMG_PREFIX}${image}${IMG_MODIFIER}:${IMG_DEV_TAG}
649- prod_image=${IMG_PREFIX}${image}:${IMG_PROD_TAG}
651+ prod_image=${GHCR_PREFIX}${ IMG_PREFIX}${image}:${IMG_PROD_TAG}
650652 docker tag ${dev_image} ${prod_image}
651653
652654 echo "::notice ::Pushing image ${prod_image}"
653655 docker push $prod_image
654656 done
655657
656- sync_chart_from_bitnami :
658+ push_chart :
659+ if : inputs.trigger_release
657660 needs :
658661 - setup
659- if : needs.setup.outputs.running_on_main == 'true' || inputs.trigger_release
662+ - local_e2e_tests
660663 runs-on : ubuntu-latest
664+ env :
665+ CHART_DIR : chart/kubeapps
661666 steps :
662667 - uses : actions/checkout@v4
663- - name : " Install CLI tools"
664- env :
665- GPG_KEY_PUBLIC : ${{ secrets.GPG_KEY_PUBLIC }}
666- GPG_KEY_PRIVATE : ${{ secrets.GPG_KEY_PRIVATE }}
668+ - name : Install Helm
667669 run : |
668670 set -eu
669671 source ./script/lib/libcitools.sh
670-
671- installGithubCLI ${GITHUB_VERSION}
672- installSemver ${SEMVER_VERSION}
673- installGPGKey
674- - name : " Install SSH key: Forked Charts Deploy Key"
675- uses : shimataro/ssh-key-action@v2
676- with :
677- key : ${{ secrets.SSH_KEY_FORKED_CHARTS_DEPLOY }}
678- name : ${{ needs.setup.outputs.ssh_key_forked_charts_deploy_filename }}
679- known_hosts : |
680- |1|2YkQ4jjACcc/1rgSBszyeEuKxW4=|hO4GB0XMwQj1gYQDmaS304aU8Tc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
681- if_key_exists : ignore
682- - # This is a key pair
683- # public key uploaded to GitHub as a deployment key with write permissions,
684- # private key stored as a secret.
685- name : Start ssh-agent and configure the key
672+ installHelm ${HELM_VERSION_STABLE} helm-stable
673+ - name : Show chart version
686674 run : |
687675 set -eu
688- eval "$(ssh-agent -s)"
689- # Deployment key uploaded to the kubeapps-bot/charts repository
690- ssh-add ~/.ssh/${SSH_KEY_FORKED_CHARTS_DEPLOY_FILENAME}
691- - # Assuming there is a personal access token created in GitHub granted with the scopes
692- # "repo:status", "public_repo" and "read:org"
693- name : Run the check_upstream_chart script
694- env :
695- GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
676+ grep '^version:' ${CHART_DIR}/Chart.yaml || true
677+ - name : Login to GHCR (OCI) for Helm
696678 run : |
697679 set -eu
698- ./script/chart_upstream_checker.sh \
699- ${CI_BOT_USERNAME} \
700- ${CI_BOT_EMAIL} \
701- ${CI_BOT_GPG} \
702- ${SSH_KEY_FORKED_CHARTS_DEPLOY_FILENAME} \
703- ${CHARTS_REPO_ORIGINAL} \
704- ${BRANCH_CHARTS_REPO_ORIGINAL} \
705- ${CHARTS_REPO_FORKED} \
706- ${BRANCH_CHARTS_REPO_FORKED} \
707- ${KUBEAPPS_REPO} \
708- ${BRANCH_KUBEAPPS_REPO} \
709- ${README_GENERATOR_REPO} \
710-
711- sync_chart_to_bitnami :
712- needs :
713- - setup
714- - local_e2e_tests
715- - GKE_REGULAR_VERSION
716- - GKE_STABLE_VERSION
717- if : inputs.trigger_release
718- runs-on : ubuntu-latest
719- steps :
720- - uses : actions/checkout@v4
721- - name : " Install CLI tools"
722- env :
723- GPG_KEY_PUBLIC : ${{ secrets.GPG_KEY_PUBLIC }}
724- GPG_KEY_PRIVATE : ${{ secrets.GPG_KEY_PRIVATE }}
680+ helm registry login ghcr.io --username "${{ github.actor }}" --password "${{ secrets.GITHUB_TOKEN }}"
681+ - name : Update chart dependencies
725682 run : |
726683 set -eu
727- source ./script/lib/libcitools.sh
728-
729- installGithubCLI ${GITHUB_VERSION}
730- installSemver ${SEMVER_VERSION}
731- installGPGKey
732- - name : " Install SSH key: Forked Charts Deploy Key"
733- uses : shimataro/ssh-key-action@v2
734- with :
735- key : ${{ secrets.SSH_KEY_FORKED_CHARTS_DEPLOY }}
736- name : ${{ needs.setup.outputs.ssh_key_forked_charts_deploy_filename }}
737- known_hosts : |
738- |1|2YkQ4jjACcc/1rgSBszyeEuKxW4=|hO4GB0XMwQj1gYQDmaS304aU8Tc= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
739- if_key_exists : ignore
740- - # This is a key pair
741- # public key uploaded to GitHub as a deployment key with write permissions,
742- # private key stored as a secret.
743- name : Start ssh-agent and configure the key
684+ helm dependency update ${CHART_DIR}
685+ - name : Package chart
744686 run : |
745687 set -eu
746- eval "$(ssh-agent -s)"
747- # Deployment key uploaded to the kubeapps-bot/charts repository
748- ssh-add ~/.ssh/${SSH_KEY_FORKED_CHARTS_DEPLOY_FILENAME}
749- - name : Run the chart_sync script
750- env :
751- # Assuming there is a personal access token created in GitHub granted with the scopes
752- # "repo:status", "public_repo" and "read:org"
753- GITHUB_TOKEN : ${{ secrets.KUBEAPPS_BOT_GITHUB_TOKEN }}
688+ helm package ${CHART_DIR} --destination /tmp
689+ ls -l /tmp | grep kubeapps- || true
690+ - name : Push chart to GHCR
754691 run : |
755692 set -eu
756- ./script/chart_sync.sh \
757- ${CI_BOT_USERNAME} \
758- ${CI_BOT_EMAIL} \
759- ${CI_BOT_GPG} \
760- ${SSH_KEY_FORKED_CHARTS_DEPLOY_FILENAME} \
761- ${CHARTS_REPO_ORIGINAL} \
762- ${BRANCH_CHARTS_REPO_ORIGINAL} \
763- ${CHARTS_REPO_FORKED} \
764- ${BRANCH_CHARTS_REPO_FORKED} \
693+ CHART_PACKAGE=$(ls /tmp/kubeapps-*.tgz)
694+ echo "Pushing ${CHART_PACKAGE} to oci://${CHART_OCI_REPO}"
695+ helm push "${CHART_PACKAGE}" oci://${CHART_OCI_REPO}
696+ - name : Upload chart artifact
697+ uses : actions/upload-artifact@v4
698+ with :
699+ name : kubeapps-chart
700+ path : /tmp/kubeapps-*.tgz
765701
766702 release :
767703 if : inputs.trigger_release
768704 needs :
769705 - setup
770- - sync_chart_to_bitnami
706+ - push_chart
771707 - local_e2e_tests
772708 - GKE_REGULAR_VERSION
773709 - GKE_STABLE_VERSION
@@ -799,7 +735,6 @@ jobs:
799735 - build_docker_images
800736 - build_dashboard_image
801737 - build_e2e_runner_image
802- - sync_chart_from_bitnami
803738 runs-on : ubuntu-latest
804739 outputs :
805740 CHARTMUSEUM_VERSION : ${{ steps.set-outputs.outputs.CHARTMUSEUM_VERSION }}
0 commit comments