From 4ff34e31884c91641f79666551b40d3f5e06e763 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 9 Sep 2022 17:33:33 +0200 Subject: [PATCH 1/2] ci: ensure chart version is in sync with the release version --- .github/workflows/apps_version_check.yaml | 2 ++ scripts/check-chart-vsn.sh | 34 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 scripts/check-chart-vsn.sh diff --git a/.github/workflows/apps_version_check.yaml b/.github/workflows/apps_version_check.yaml index 86fe60204..39385b1d0 100644 --- a/.github/workflows/apps_version_check.yaml +++ b/.github/workflows/apps_version_check.yaml @@ -29,6 +29,8 @@ jobs: run: ./scripts/update-appup.sh emqx-ee --check - name: Check apps version run: ./scripts/apps-version-check.sh + - name: Check chart versions + run: ./scripts/check-chart-vsn.sh - uses: actions/upload-artifact@v3.1.0 if: failure() with: diff --git a/scripts/check-chart-vsn.sh b/scripts/check-chart-vsn.sh new file mode 100755 index 000000000..633a51dc2 --- /dev/null +++ b/scripts/check-chart-vsn.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail + +# ensure dir +cd -P -- "$(dirname -- "$0")/.." + +if [ -f "EMQX_ENTERPRISE" ]; then + CHART_FILE='deploy/charts/emqx-ee/Chart.yaml' +else + CHART_FILE='deploy/charts/emqx/Chart.yaml' +fi + +if [ ! -f "$CHART_FILE" ]; then + echo "Chart file $CHART_FILE is not found" + pwd + exit 1 +fi + +CHART_VSN="$(grep -oE '^version:.*' "$CHART_FILE" | cut -d ':' -f 2 | tr -d ' ')" +APP_VSN="$(grep -oE '^appVersion:.*' "$CHART_FILE" | cut -d ':' -f 2 | tr -d ' ')" + +if [ "$CHART_VSN" != "$APP_VSN" ]; then + echo "Chart version and app version mismatch in $CHART_FILE" + exit 2 +fi + +PKG_VSN="$(./pkg-vsn.sh | cut -d '-' -f 1)" + +if [ "$CHART_VSN" != "$PKG_VSN" ]; then + echo "Chart version in $CHART_FILE is not in sync with release version." + echo "Chart version: $CHART_VSN" + echo "Release version: $PKG_VSN" + exit 3 +fi From 05129bd919dede8f1fa8053a7f516f9b1e093f84 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 9 Sep 2022 17:35:03 +0200 Subject: [PATCH 2/2] refactor: rename check scripts to start with 'check-' --- .github/workflows/apps_version_check.yaml | 2 +- scripts/{apps-version-check.sh => check-apps-vsn.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename scripts/{apps-version-check.sh => check-apps-vsn.sh} (100%) diff --git a/.github/workflows/apps_version_check.yaml b/.github/workflows/apps_version_check.yaml index 39385b1d0..257eba4f7 100644 --- a/.github/workflows/apps_version_check.yaml +++ b/.github/workflows/apps_version_check.yaml @@ -28,7 +28,7 @@ jobs: if: endsWith(github.repository, 'enterprise') run: ./scripts/update-appup.sh emqx-ee --check - name: Check apps version - run: ./scripts/apps-version-check.sh + run: ./scripts/check-apps-vsn.sh - name: Check chart versions run: ./scripts/check-chart-vsn.sh - uses: actions/upload-artifact@v3.1.0 diff --git a/scripts/apps-version-check.sh b/scripts/check-apps-vsn.sh similarity index 100% rename from scripts/apps-version-check.sh rename to scripts/check-apps-vsn.sh