From db17db3dcc84e89dfcea49b50260a0da1d120c1e Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 13:37:00 -0400 Subject: [PATCH 01/13] add helm builder --- .github/workflows/release-charts.yaml | 50 +++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/release-charts.yaml diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml new file mode 100644 index 000000000..3bded8106 --- /dev/null +++ b/.github/workflows/release-charts.yaml @@ -0,0 +1,50 @@ +name: Helm OCI Package and Release to GitHub Container Registry + +on: + push: + branches: + - ci-cd-helm-build + pull_request: + branches: + - ci-cd-helm-build + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Helm + run: | + curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash + helm version + + - name: Install yq (YAML processor) + run: | + sudo wget https://github.com/mikefarah/yq/releases/download/v4.13.4/yq_linux_amd64 -O /usr/bin/yq + sudo chmod +x /usr/bin/yq + + - name: Log in to GitHub Container Registry (ghcr.io) + env: + USERNAME: ${{ secrets.secrets.CONTAINERHUB_USERNAME }} + TOKEN: ${{ secrets.CONTAINERHUB_TOKEN }} + run: | + echo $TOKEN | helm registry login containers.renci.org --username $USERNAME --password-stdin + + - name: Package and Push Charts + run: | + for chart in $(ls -d charts/*/); do + chart_name=$(basename $chart) + version=$(yq eval '.version' $chart/Chart.yaml) + echo "Packaging $chart_name with version $version" + helm chart save $chart containers.renci.org/translator/$chart_name:$version + helm chart push containers.renci.org/translator/$chart_name:$version + done +# +# - name: Create GitHub Release +# uses: softprops/action-gh-release@v1 +# with: +# body: "New Helm charts release" +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From b54af8a160b56d454fbafc9f365b363508e719a7 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 13:40:30 -0400 Subject: [PATCH 02/13] fix login --- .github/workflows/release-charts.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 3bded8106..b8ec12fb3 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -30,7 +30,7 @@ jobs: USERNAME: ${{ secrets.secrets.CONTAINERHUB_USERNAME }} TOKEN: ${{ secrets.CONTAINERHUB_TOKEN }} run: | - echo $TOKEN | helm registry login containers.renci.org --username $USERNAME --password-stdin + helm registry login containers.renci.org --username $USERNAME --password $TOKEN - name: Package and Push Charts run: | From 8d9b810427cfad5e5379abced56d69ea9a97e176 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 13:41:38 -0400 Subject: [PATCH 03/13] fix login --- .github/workflows/release-charts.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index b8ec12fb3..d275acf1c 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -25,9 +25,9 @@ jobs: sudo wget https://github.com/mikefarah/yq/releases/download/v4.13.4/yq_linux_amd64 -O /usr/bin/yq sudo chmod +x /usr/bin/yq - - name: Log in to GitHub Container Registry (ghcr.io) + - name: Log in to Container Registry env: - USERNAME: ${{ secrets.secrets.CONTAINERHUB_USERNAME }} + USERNAME: ${{ secrets.CONTAINERHUB_USERNAME }} TOKEN: ${{ secrets.CONTAINERHUB_TOKEN }} run: | helm registry login containers.renci.org --username $USERNAME --password $TOKEN From 28d2bbc6c73986240ddad99d4977459db961a999 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 13:43:41 -0400 Subject: [PATCH 04/13] fix login --- .github/workflows/release-charts.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index d275acf1c..c75d1c8ad 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -26,11 +26,8 @@ jobs: sudo chmod +x /usr/bin/yq - name: Log in to Container Registry - env: - USERNAME: ${{ secrets.CONTAINERHUB_USERNAME }} - TOKEN: ${{ secrets.CONTAINERHUB_TOKEN }} run: | - helm registry login containers.renci.org --username $USERNAME --password $TOKEN + helm registry login containers.renci.org --username ${{ secrets.CONTAINERHUB_USERNAME }} --password ${{ secrets.CONTAINERHUB_TOKEN }} - name: Package and Push Charts run: | From 0d14648cc0df350dace0f1e3cfeb7c8a35e35818 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 14:15:47 -0400 Subject: [PATCH 05/13] fix login --- .github/workflows/release-charts.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index c75d1c8ad..659a52de0 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -27,7 +27,7 @@ jobs: - name: Log in to Container Registry run: | - helm registry login containers.renci.org --username ${{ secrets.CONTAINERHUB_USERNAME }} --password ${{ secrets.CONTAINERHUB_TOKEN }} + helm registry login containers.renci.org --username '${{ secrets.CONTAINERHUB_USERNAME }}' --password '${{ secrets.CONTAINERHUB_TOKEN }}' - name: Package and Push Charts run: | From ae9db1343141e255e56acac3b6c097c465ee7b28 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 14:17:22 -0400 Subject: [PATCH 06/13] fix dir --- .github/workflows/release-charts.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 659a52de0..9a24b29b1 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -31,7 +31,7 @@ jobs: - name: Package and Push Charts run: | - for chart in $(ls -d charts/*/); do + for chart in $(ls -d helm/*/); do chart_name=$(basename $chart) version=$(yq eval '.version' $chart/Chart.yaml) echo "Packaging $chart_name with version $version" From 3ae530403632dd74dfec6e38885e20b72d2f34aa Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 14:24:27 -0400 Subject: [PATCH 07/13] fix dir --- .github/workflows/release-charts.yaml | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 9a24b29b1..5d82c58e6 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -31,12 +31,27 @@ jobs: - name: Package and Push Charts run: | - for chart in $(ls -d helm/*/); do - chart_name=$(basename $chart) - version=$(yq eval '.version' $chart/Chart.yaml) - echo "Packaging $chart_name with version $version" - helm chart save $chart containers.renci.org/translator/$chart_name:$version - helm chart push containers.renci.org/translator/$chart_name:$version + set -e # Exit immediately if any command exits with a non-zero status + for chart in helm/*/; do + if [ -f "$chart/Chart.yaml" ]; then + chart_name=$(basename "$chart") + version=$(yq eval '.version' "$chart/Chart.yaml") + if [ -z "$version" ]; then + echo "Error: Could not find version in $chart_name/Chart.yaml" + exit 1 + fi + echo "Updating dependencies for $chart_name" + helm dependency update "$chart" + + echo "Packaging $chart_name with version $version" + helm package "$chart" --version "$version" --destination ./packages + + echo "Pushing $chart_name with version $version to OCI registry" + helm push ./packages/"$chart_name-$version.tgz" oci://containers.renci.org/translator/ + else + echo "Error: Chart.yaml not found in $chart" + exit 1 + fi done # # - name: Create GitHub Release From d29bb541a9d76bde7c9a0a5c2746d238877c6f7e Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:27:07 -0400 Subject: [PATCH 08/13] fix dir --- .github/workflows/release-charts.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 5d82c58e6..a056889ee 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -34,7 +34,7 @@ jobs: set -e # Exit immediately if any command exits with a non-zero status for chart in helm/*/; do if [ -f "$chart/Chart.yaml" ]; then - chart_name=$(basename "$chart") + chart_name=$(yq eval '.name' "$chart/Chart.yaml") version=$(yq eval '.version' "$chart/Chart.yaml") if [ -z "$version" ]; then echo "Error: Could not find version in $chart_name/Chart.yaml" @@ -48,6 +48,7 @@ jobs: echo "Pushing $chart_name with version $version to OCI registry" helm push ./packages/"$chart_name-$version.tgz" oci://containers.renci.org/translator/ + rm ./packages/"$chart_name-$version.tgz" else echo "Error: Chart.yaml not found in $chart" exit 1 From b2b0b27a2ab3caa265dae5b5bdf6150abd672a95 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:30:04 -0400 Subject: [PATCH 09/13] fix dir --- .github/workflows/release-charts.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index a056889ee..544c9be85 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -49,10 +49,7 @@ jobs: echo "Pushing $chart_name with version $version to OCI registry" helm push ./packages/"$chart_name-$version.tgz" oci://containers.renci.org/translator/ rm ./packages/"$chart_name-$version.tgz" - else - echo "Error: Chart.yaml not found in $chart" - exit 1 - fi + done # # - name: Create GitHub Release From aa9debc76271e7038715520445de7cbf8f3069fb Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:33:09 -0400 Subject: [PATCH 10/13] fix dir --- .github/workflows/release-charts.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 544c9be85..25750f615 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -48,8 +48,7 @@ jobs: echo "Pushing $chart_name with version $version to OCI registry" helm push ./packages/"$chart_name-$version.tgz" oci://containers.renci.org/translator/ - rm ./packages/"$chart_name-$version.tgz" - + rm ./packages/"$chart_name-$version.tgz" done # # - name: Create GitHub Release From 8ceb5067e31a5cf4eeee1af460166371da854ffb Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:33:47 -0400 Subject: [PATCH 11/13] fix dir --- .github/workflows/release-charts.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 25750f615..73533f805 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -48,7 +48,8 @@ jobs: echo "Pushing $chart_name with version $version to OCI registry" helm push ./packages/"$chart_name-$version.tgz" oci://containers.renci.org/translator/ - rm ./packages/"$chart_name-$version.tgz" + rm ./packages/"$chart_name-$version.tgz" + fi done # # - name: Create GitHub Release From ff87bd681aaa1f5d64bcdfeffd65f3910b116735 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:43:37 -0400 Subject: [PATCH 12/13] change action branch --- .github/workflows/release-charts.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 73533f805..2c1aab545 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -3,10 +3,10 @@ name: Helm OCI Package and Release to GitHub Container Registry on: push: branches: - - ci-cd-helm-build + - develop pull_request: branches: - - ci-cd-helm-build + - develop jobs: release: From daf7f00fedf37241350dd6cae835cabdb9315213 Mon Sep 17 00:00:00 2001 From: YaphetKG Date: Wed, 23 Oct 2024 15:54:13 -0400 Subject: [PATCH 13/13] change action branch --- .github/workflows/release-charts.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/release-charts.yaml b/.github/workflows/release-charts.yaml index 2c1aab545..cf02db177 100644 --- a/.github/workflows/release-charts.yaml +++ b/.github/workflows/release-charts.yaml @@ -4,9 +4,7 @@ on: push: branches: - develop - pull_request: - branches: - - develop + jobs: release: