From 0b54353be72780a97f6cc83e4734bb99dfb3d25c Mon Sep 17 00:00:00 2001
From: Paul Abel
Date: Mon, 12 Aug 2024 14:17:39 +0100
Subject: [PATCH] try it out
---
.github/workflows/sync-chart.yml | 61 +++++++++++++++++++++++---------
1 file changed, 44 insertions(+), 17 deletions(-)
diff --git a/.github/workflows/sync-chart.yml b/.github/workflows/sync-chart.yml
index c1303e69..d4a6d9de 100644
--- a/.github/workflows/sync-chart.yml
+++ b/.github/workflows/sync-chart.yml
@@ -5,10 +5,23 @@ on:
inputs:
chart_version:
description: "Chart version"
+ type: string
required: true
operator_version:
description: "Operator version"
+ type: string
required: true
+ k8s_version:
+ description: "Kubernetes version"
+ type: string
+ required: true
+ dry_run:
+ description: "Do not commit to a PR"
+ type: boolean
+ default: false
+ push:
+ branches:
+ - sync-update
permissions:
contents: read
@@ -20,9 +33,16 @@ jobs:
contents: write
pull-requests: write
steps:
- - name: Checkout
+ - name: Checkout Operator
+ uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+ with:
+ token: ${{ secrets.NGINX_PAT }}
+
+ - name: Checkout Kuberneres json schema
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
+ repository: nginxinc/kubernetes-json-schema
+ path: schemas
token: ${{ secrets.NGINX_PAT }}
- name: Setup Helm
@@ -40,16 +60,17 @@ jobs:
echo "Current Operator version: $current_operator_version"
cd helm-charts/
- schema_dir=$(cd nginx-ingress && echo v1.*)
- mv nginx-ingress/$schema_dir $schema_dir
rm -rf nginx-ingress
- helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version ${{ inputs.chart_version }}
+ helm pull oci://ghcr.io/nginxinc/charts/nginx-ingress --untar --version ${{ inputs.chart_version || '1.3.0' }}
rm -f nginx-ingress/templates/clusterrole.yaml
rm -f nginx-ingress/templates/controller-role.yaml
rm -f nginx-ingress/templates/controller-rolebinding.yaml
sed -i '14s/name: {{ include "nginx-ingress.fullname" . }}/name: nginx-ingress-operator-nginx-ingress-admin/' nginx-ingress/templates/clusterrolebinding.yaml
- mv $schema_dir nginx-ingress/
+
+ mv ../schemas/${{ inputs.k8s_version || '1.30.0' }} nginx-ingress/${{ inputs.k8s_version || '1.30.0' }}
+ sed -i -e "s#ref\": \"file.*_def#ref\": \"file://./helm-charts/nginx-ingress/v${{ inputs.k8s_version || '1.30.0' }}/_def#" nginx-ingress/values.schema.json
+ rm -rf ../schemas
new_nic_version=$(yq e '.appVersion' nginx-ingress/Chart.yaml)
echo "New NIC version: $new_nic_version"
@@ -57,7 +78,7 @@ jobs:
echo current_nic_version=$current_nic_version >> $GITHUB_OUTPUT
echo current_operator_version=$current_operator_version >> $GITHUB_OUTPUT
echo new_nic_version=$new_nic_version >> $GITHUB_OUTPUT
- echo new_operator_version=${{ inputs.operator_version }} >> $GITHUB_OUTPUT
+ echo new_operator_version=${{ inputs.operator_version || '2.3.0' }} >> $GITHUB_OUTPUT
- name: Find and Replace NIC version
uses: jacobtomlinson/gha-find-replace@a51bbcd94d000df9ca0fcb54ec8be69aad8374b0 # v3.0.2
@@ -73,14 +94,20 @@ jobs:
replace: ${{ steps.sync.outputs.new_operator_version }}
regex: false
- - name: Create Pull Request
- uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
- with:
- token: ${{ secrets.NGINX_PAT }}
- commit-message: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}
- title: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}
- branch: feat/update-nic-to-${{ steps.sync.outputs.new_version }}
- author: nginx-bot
- body: |
- This automated PR updates the NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}.
- The Helm Chart was updated to ${{ inputs.chart_version }}.
+ - name: Run Diff
+ run: |
+ git diff
+ if: ${{ inputs.dry_run || true }}
+
+ # - name: Create Pull Request
+ # uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
+ # with:
+ # token: ${{ secrets.NGINX_PAT }}
+ # commit-message: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}
+ # title: Update NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}
+ # branch: feat/update-nic-to-${{ steps.sync.outputs.new_version }}
+ # author: nginx-bot
+ # body: |
+ # This automated PR updates the NGINX Ingress Controller to ${{ steps.sync.outputs.new_version }}.
+ # The Helm Chart was updated to ${{ inputs.chart_version }}.
+ # if: ${{ ! inputs.dry_run || false }}