Skip to content

Automate ignoring deprecated charts #547

Automate ignoring deprecated charts

Automate ignoring deprecated charts #547

name: "helm-charts/test"
on: pull_request
jobs:
generate-charts:
runs-on: ubuntu-latest
name: Generate Charts
steps:
- name: Checkout
uses: actions/checkout@v4
with:
sparse-checkout: |
charts/
- name: Get values files
uses: tj-actions/glob@v22
id: charts
with:
separator: ","
files: |
charts/${{ matrix.chart }}/**/Chart.yaml
- name: Deprecated Charts
id: deprecated
run: |
echo "${{ steps.charts.outputs.paths }}
# printf "platform=%s" $(docker manifest inspect $(cat ${{ inputs.dockerfile }} | grep FROM | tail -n 1 | docker run -i --rm ghcr.io/wyrihaximusnet/php:8.4-nts-alpine-root php -r 'echo explode(" ", trim(fgets(STDIN)))[1];') | docker run --rm -i backplane/jq '([.manifests[].platform | select(.os != "unknown")]?) | .[] | (.os + "/" + .architecture)' | docker run --rm -i backplane/jq -s '. | join(",")') >> $GITHUB_OUTPUT
# validate-values-schema:
# runs-on: ubuntu-latest
# name: Validate values schema json
# strategy:
# matrix:
# chart: ${{ fromJson(needs.generate-charts.outputs.activeCharts) }}
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# sparse-checkout: |
# charts/${{ matrix.chart }}/
# - name: Get values files
# uses: tj-actions/glob@v22
# id: valueFiles
# with:
# separator: ","
# files: |
# charts/${{ matrix.chart }}/**/*values.yaml
# - name: Validate values schema json
# uses: losisin/helm-values-schema-json-action@v1
# with:
# input: ${{ steps.valueFiles.outputs.paths }}
# output: charts/${{ matrix.chart }}/values.schema.json
# fail-on-diff: true
# lint:
# name: Lint
# runs-on: ubuntu-latest
# needs:
# - validate-values-schema
# steps:
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Fetch history
# run: git fetch --prune --unshallow
# - name: Install Chart Tester
# uses: helm/[email protected]
# - name: Add WyriHaximusNet repo
# run: helm repo add WyriHaximusNet https://helm.wyrihaximus.net/
# - name: Lint charts
# id: lint
# run: ct lint --all
# test:
# Name: Test on Kubernetes v${{ matrix.k8s }}
# runs-on: ubuntu-latest
# needs:
# - lint
# strategy:
# fail-fast: false
# matrix:
# k8s:
# - "1.23"
# - "1.24"
# - "1.25"
# - "1.26"
# - "1.27"
# - "1.28"
# - "1.29"
# - "1.30"
# - "1.31"
# steps:
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Fetch history
# run: git fetch --prune --unshallow
#
# - name: Create kind cluster
# uses: helm/[email protected]
# with:
# node_image: "kindest/node:v${{ matrix.k8s }}.0"
# config: etc/kind.yaml
# - run: kubectl get nodes --show-labels=true
# - run: kubectl get pods -A
# - run: kubectl get svc -A
# - name: Install PiHole
# uses: evryfs/[email protected]
# id: helm-pihole
# with:
# repo: https://mojo2600.github.io/pihole-kubernetes/
# chart: pihole
# helm: 'helm' # optional, default value is 'helm'
# args: '--wait --atomic --timeout 13m' #optional, default value is '--wait --timeout 2m' in order to wait for the chart-install to stabilize into ready state
# - run: kubectl get pods -A
# - run: kubectl get svc -A
# - name: Create PiHole HostName
# id: pihole
# run: |
# echo ::set-output name=hostname::$(echo "${{ steps.helm-pihole.outputs.releaseName }}-web.default" | base64)
# - name: Add WyriHaximusNet repo
# run: helm repo add WyriHaximusNet https://helm.wyrihaximus.net/
# - name: Install Chart Tester
# uses: helm/[email protected]
# - name: Run List Changed
# id: list-changed
# run: |
# changed=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
# if [[ -n "$changed" ]]; then
# echo "changed=true" >> "$GITHUB_OUTPUT"
# fi
# - name: Prepare library charts
# run: |
# echo -e " PIHOLE_HOSTNAME: \"${{ steps.pihole.outputs.hostname }}\"\r\n" >> charts/pi-hole-exporter/library-ci/secret.yaml
# cp charts/commons/library-ci/*.yaml charts/commons/templates/
# cp charts/cron-jobs/library-ci/*.yaml charts/cron-jobs/templates/
# cp charts/pi-hole-exporter/library-ci/*.yaml charts/pi-hole-exporter/templates/
# sed -i 's/library/application/g' charts/commons/Chart.yaml
# sed -i 's/library/application/g' charts/cron-jobs/Chart.yaml
# rm -Rf charts/commento
# rm -Rf charts/commentoplusplus
# rm -Rf charts/horizontal-pod-autoscalers
# - run: kubectl get pods -A
# - run: kubectl get svc -A
# - name: Test Changed Charts
# if: steps.list-changed.outputs.changed == 'true'
# run: ct install
# - name: Test All Charts
# if: steps.list-changed.outputs.changed != 'true'
# run: ct install --all
# - run: kubectl get pods -A
# - run: kubectl get svc -A