Skip to content

Commit d66c69d

Browse files
authored
Merge pull request #13 from SAP/enable_basic_github_actions
Enable basic GitHub actions
2 parents c565779 + 27f5bb2 commit d66c69d

362 files changed

Lines changed: 437 additions & 465 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/kubeapps-general.yaml

Lines changed: 31 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ env:
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

9899
jobs:
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 }}

.github/workflows/release-bitnami-apache-exporter.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
15
name: B&R dep Bitnami Apache Exporter
26

37
on:

.github/workflows/release-bitnami-apache.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami Apache
25

36
on:

.github/workflows/release-bitnami-golang.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami golang
25

36
on:

.github/workflows/release-bitnami-nginx.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami Nginx
25

36
on:

.github/workflows/release-bitnami-oauth2-proxy.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami OAuth2 Proxy
25

36
on:

.github/workflows/release-bitnami-os-shell.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami os-shell
25

36
on:

.github/workflows/release-bitnami-postgres-exporter.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami postgres-exporter
25

36
on:

.github/workflows/release-bitnami-postgresql.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami postgresql
25

36
on:

.github/workflows/release-bitnami-redis-exporter.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# Copyright 2025 the Kubeapps contributors.
2+
# SPDX-License-Identifier: Apache-2.0
3+
14
name: B&R dep Bitnami Redis Exporter
25

36
on:

0 commit comments

Comments
 (0)