From 2f09ce9dc0e410829bb2900799c62c16e6ecc1cd Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Thu, 4 Dec 2025 18:21:28 -0600 Subject: [PATCH] update workflows --- .../workflows/release-charts-cloudflared.yml | 49 +++++++++++++++++-- .../release-charts-generic-device-plugin.yml | 49 +++++++++++++++++-- .../release-charts-gitea-actions.yml | 49 +++++++++++++++++-- .../release-charts-postgres-cluster.yml | 49 +++++++++++++++++-- 4 files changed, 184 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/release-charts-cloudflared.yml b/.gitea/workflows/release-charts-cloudflared.yml index e1f3d00..ffe21d0 100644 --- a/.gitea/workflows/release-charts-cloudflared.yml +++ b/.gitea/workflows/release-charts-cloudflared.yml @@ -25,26 +25,69 @@ jobs: token: ${{ secrets.GITEA_TOKEN }} version: v3.19.2 + - name: Add Repositories + run: | + cd ${WORKFLOW_DIR} + + echo ">> Adding repositories for chart dependencies ..." + helm dependency list --max-col-width 120 ${WORKFLOW_DIR} 2> /dev/null \ + | tail +2 | head -n -1 \ + | awk '{ print "helm repo add " $1 " " $3 }' \ + | while read cmd; do echo "$cmd" | sh; done || true + + if helm repo list | tail +2 | read -r; then + echo ">> Update repository cache ..." + helm repo update + fi + + echo "----" + - name: Package Helm Chart run: | - cd $WORKFLOW_DIR - helm dependency build --debug + cd ${WORKFLOW_DIR} + + echo ">> Building helm dependency ..." + helm dependency build --skip-refresh --debug + + echo "----" + echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV - name: Publish Helm Chart to Harbor run: | + echo ">> Logging into Harbor ..." helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug + + echo "" + echo ">> Publishing chart to Harbor ..." helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug + echo "----" + - name: Publish Helm Chart to Gitea run: | + echo ">> Installing Chart Museum plugin ..." helm plugin install https://github.com/chartmuseum/helm-push --debug + + echo "" + echo ">> Adding Gitea repository ..." helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug + + echo "" + echo ">> Pushing chart to gitea" helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug - name: Extract Chart Metadata run: | - cd $WORKFLOW_DIR + cd ${WORKFLOW_DIR} + + echo ">> Adding Chart metadata to workflow ENV ..." + echo "" + echo ">> Chart Version: $(yq '.version' Chart.yaml)" + echo ">> Chart Name: $(yq '.name' Chart.yaml)" + + echo "----" + echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV diff --git a/.gitea/workflows/release-charts-generic-device-plugin.yml b/.gitea/workflows/release-charts-generic-device-plugin.yml index ec72a07..e9b3754 100644 --- a/.gitea/workflows/release-charts-generic-device-plugin.yml +++ b/.gitea/workflows/release-charts-generic-device-plugin.yml @@ -25,26 +25,69 @@ jobs: token: ${{ secrets.GITEA_TOKEN }} version: v3.19.2 + - name: Add Repositories + run: | + cd ${WORKFLOW_DIR} + + echo ">> Adding repositories for chart dependencies ..." + helm dependency list --max-col-width 120 ${WORKFLOW_DIR} 2> /dev/null \ + | tail +2 | head -n -1 \ + | awk '{ print "helm repo add " $1 " " $3 }' \ + | while read cmd; do echo "$cmd" | sh; done || true + + if helm repo list | tail +2 | read -r; then + echo ">> Update repository cache ..." + helm repo update + fi + + echo "----" + - name: Package Helm Chart run: | - cd $WORKFLOW_DIR - helm dependency build --debug + cd ${WORKFLOW_DIR} + + echo ">> Building helm dependency ..." + helm dependency build --skip-refresh --debug + + echo "----" + echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV - name: Publish Helm Chart to Harbor run: | + echo ">> Logging into Harbor ..." helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug + + echo "" + echo ">> Publishing chart to Harbor ..." helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug + echo "----" + - name: Publish Helm Chart to Gitea run: | + echo ">> Installing Chart Museum plugin ..." helm plugin install https://github.com/chartmuseum/helm-push --debug + + echo "" + echo ">> Adding Gitea repository ..." helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug + + echo "" + echo ">> Pushing chart to gitea" helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug - name: Extract Chart Metadata run: | - cd $WORKFLOW_DIR + cd ${WORKFLOW_DIR} + + echo ">> Adding Chart metadata to workflow ENV ..." + echo "" + echo ">> Chart Version: $(yq '.version' Chart.yaml)" + echo ">> Chart Name: $(yq '.name' Chart.yaml)" + + echo "----" + echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV diff --git a/.gitea/workflows/release-charts-gitea-actions.yml b/.gitea/workflows/release-charts-gitea-actions.yml index 8ef6d7d..82dc3c6 100644 --- a/.gitea/workflows/release-charts-gitea-actions.yml +++ b/.gitea/workflows/release-charts-gitea-actions.yml @@ -25,26 +25,69 @@ jobs: token: ${{ secrets.GITEA_TOKEN }} version: v3.19.2 + - name: Add Repositories + run: | + cd ${WORKFLOW_DIR} + + echo ">> Adding repositories for chart dependencies ..." + helm dependency list --max-col-width 120 ${WORKFLOW_DIR} 2> /dev/null \ + | tail +2 | head -n -1 \ + | awk '{ print "helm repo add " $1 " " $3 }' \ + | while read cmd; do echo "$cmd" | sh; done || true + + if helm repo list | tail +2 | read -r; then + echo ">> Update repository cache ..." + helm repo update + fi + + echo "----" + - name: Package Helm Chart run: | - cd $WORKFLOW_DIR - helm dependency build --debug + cd ${WORKFLOW_DIR} + + echo ">> Building helm dependency ..." + helm dependency build --skip-refresh --debug + + echo "----" + echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV - name: Publish Helm Chart to Harbor run: | + echo ">> Logging into Harbor ..." helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug + + echo "" + echo ">> Publishing chart to Harbor ..." helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug + echo "----" + - name: Publish Helm Chart to Gitea run: | + echo ">> Installing Chart Museum plugin ..." helm plugin install https://github.com/chartmuseum/helm-push --debug + + echo "" + echo ">> Adding Gitea repository ..." helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug + + echo "" + echo ">> Pushing chart to gitea" helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug - name: Extract Chart Metadata run: | - cd $WORKFLOW_DIR + cd ${WORKFLOW_DIR} + + echo ">> Adding Chart metadata to workflow ENV ..." + echo "" + echo ">> Chart Version: $(yq '.version' Chart.yaml)" + echo ">> Chart Name: $(yq '.name' Chart.yaml)" + + echo "----" + echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV diff --git a/.gitea/workflows/release-charts-postgres-cluster.yml b/.gitea/workflows/release-charts-postgres-cluster.yml index a3458df..b10bb8d 100644 --- a/.gitea/workflows/release-charts-postgres-cluster.yml +++ b/.gitea/workflows/release-charts-postgres-cluster.yml @@ -25,26 +25,69 @@ jobs: token: ${{ secrets.GITEA_TOKEN }} version: v3.19.2 + - name: Add Repositories + run: | + cd ${WORKFLOW_DIR} + + echo ">> Adding repositories for chart dependencies ..." + helm dependency list --max-col-width 120 ${WORKFLOW_DIR} 2> /dev/null \ + | tail +2 | head -n -1 \ + | awk '{ print "helm repo add " $1 " " $3 }' \ + | while read cmd; do echo "$cmd" | sh; done || true + + if helm repo list | tail +2 | read -r; then + echo ">> Update repository cache ..." + helm repo update + fi + + echo "----" + - name: Package Helm Chart run: | - cd $WORKFLOW_DIR - helm dependency build --debug + cd ${WORKFLOW_DIR} + + echo ">> Building helm dependency ..." + helm dependency build --skip-refresh --debug + + echo "----" + echo "PACKAGE_PATH=$(helm package . | awk '{print $NF}')" >> $GITEA_ENV - name: Publish Helm Chart to Harbor run: | + echo ">> Logging into Harbor ..." helm registry login ${{ vars.REGISTRY_HOST }} -u ${{ vars.REGISTRY_USER }} -p ${{ secrets.REGISTRY_SECRET }} --debug + + echo "" + echo ">> Publishing chart to Harbor ..." helm push ${{ env.PACKAGE_PATH }} oci://${{ vars.REGISTRY_HOST }}/helm-charts --debug + echo "----" + - name: Publish Helm Chart to Gitea run: | + echo ">> Installing Chart Museum plugin ..." helm plugin install https://github.com/chartmuseum/helm-push --debug + + echo "" + echo ">> Adding Gitea repository ..." helm repo add --username ${{ gitea.actor }} --password ${{ secrets.REPOSITORY_TOKEN }} helm-charts https://${{ vars.REPOSITORY_HOST }}/api/packages/alexlebens/helm --debug + + echo "" + echo ">> Pushing chart to gitea" helm cm-push ${{ env.PACKAGE_PATH }} helm-charts --debug - name: Extract Chart Metadata run: | - cd $WORKFLOW_DIR + cd ${WORKFLOW_DIR} + + echo ">> Adding Chart metadata to workflow ENV ..." + echo "" + echo ">> Chart Version: $(yq '.version' Chart.yaml)" + echo ">> Chart Name: $(yq '.name' Chart.yaml)" + + echo "----" + echo "CHART_VERSION=$(yq '.version' Chart.yaml)" >> $GITEA_ENV echo "CHART_NAME=$(yq '.name' Chart.yaml)" >> $GITEA_ENV