From 68ec735782c6eb5b8237e916a310ca69771a7761 Mon Sep 17 00:00:00 2001 From: Vincent Behar Date: Mon, 11 May 2020 07:02:12 +0200 Subject: [PATCH] use goreleaser hook to set the right version in plugin.yaml --- .github/workflows/tag.yml | 20 -------------------- .goreleaser.yml | 4 ++++ install_plugin.sh | 33 ++++++++++++++------------------- plugin.yaml | 1 - update_version.sh | 5 +++++ 5 files changed, 23 insertions(+), 40 deletions(-) create mode 100755 update_version.sh diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index d6de26a26..654be67fc 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -17,30 +17,10 @@ jobs: token: ${{ secrets.GH_TOKEN }} - run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - - name: Next Version - id: nextversion - uses: ./.github/actions/autotag/ - with: - dry_run: true - - name: Update plugin.yaml version - uses: mikefarah/yq@master - with: - cmd: yq w -i plugin.yaml 'version' "${{ steps.nextversion.outputs.version }}" - - name: Commit - uses: EndBug/add-and-commit@v4 - with: - add: plugin.yaml - message: 'Release ${{ steps.nextversion.outputs.version }}' - ref: "release/${{ steps.nextversion.outputs.version }}" - env: - GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} - name: Tag uses: ./.github/actions/autotag/ - with: - branch: "release/${{ steps.nextversion.outputs.version }}" - name: Push uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GH_TOKEN }} - branch: "release/${{ steps.nextversion.outputs.version }}" tags: true diff --git a/.goreleaser.yml b/.goreleaser.yml index 0b1d11058..18f0eda89 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,5 +1,9 @@ # Configuration file for http://goreleaser.com +before: + hooks: + - ./update_version.sh {{.Version}} + builds: - goos: - linux diff --git a/install_plugin.sh b/install_plugin.sh index 5bda1c36d..4288254d2 100755 --- a/install_plugin.sh +++ b/install_plugin.sh @@ -7,41 +7,36 @@ if [ -n "${HELM_LINTER_PLUGIN_NO_INSTALL_HOOK}" ]; then exit 0 fi -version="$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null)" -if [ -n "$version" ]; then - version="${version:1}" -else - version="$(cat plugin.yaml | grep "version" | cut -d '"' -f 2)" -fi -echo "Downloading and installing helm3-unittest v${version} ..." +version="$(git describe --tags --exact-match 2>/dev/null)" +echo "Downloading and installing helm3-unittest ${version} ..." url="" if [ "$(uname)" = "Darwin" ]; then - url="https://github.com/vbehar/helm3-unittest/releases/download/v${version}/helm3-unittest_${version}_darwin_amd64.tar.gz" + url="https://github.com/vbehar/helm3-unittest/releases/download/${version}/helm3-unittest_${version:1}_darwin_amd64.tar.gz" elif [ "$(uname)" = "Linux" ] ; then if [ "$(uname -m)" = "aarch64" ] || [ "$(uname -m)" = "arm64" ]; then - url="https://github.com/vbehar/helm3-unittest/releases/download/v${version}/helm3-unittest_${version}_linux_arm64.tar.gz" + url="https://github.com/vbehar/helm3-unittest/releases/download/${version}/helm3-unittest_${version:1}_linux_arm64.tar.gz" else - url="https://github.com/vbehar/helm3-unittest/releases/download/v${version}/helm3-unittest_${version}_linux_amd64.tar.gz" + url="https://github.com/vbehar/helm3-unittest/releases/download/${version}/helm3-unittest_${version:1}_linux_amd64.tar.gz" fi else - url="https://github.com/vbehar/helm3-unittest/releases/download/v${version}/helm3-unittest_${version}_windows_amd64.tar.gz" + url="https://github.com/vbehar/helm3-unittest/releases/download/${version}/helm3-unittest_${version:1}_windows_amd64.tar.gz" fi echo "$url" mkdir -p "bin" -mkdir -p "releases/v${version}" +mkdir -p "releases/${version}" # Download with curl if possible. # shellcheck disable=SC2230 if [ -x "$(which curl 2>/dev/null)" ]; then - curl -sSL "${url}" -o "releases/v${version}.tar.gz" + curl -sSL "${url}" -o "releases/${version}.tar.gz" else - wget -q "${url}" -O "releases/v${version}.tar.gz" + wget -q "${url}" -O "releases/${version}.tar.gz" fi -tar xzf "releases/v${version}.tar.gz" -C "releases/v${version}" -mv "releases/v${version}/helm3-unittest" "bin/unittest" || \ - mv "releases/v${version}/helm3-unittest.exe" "bin/unittest" -mv "releases/v${version}/plugin.yaml" . -mv "releases/v${version}/README.md" . +tar xzf "releases/${version}.tar.gz" -C "releases/${version}" +mv "releases/${version}/helm3-unittest" "bin/unittest" || \ + mv "releases/${version}/helm3-unittest.exe" "bin/unittest" +mv "releases/${version}/plugin.yaml" . +mv "releases/${version}/README.md" . diff --git a/plugin.yaml b/plugin.yaml index 710920e6d..924e68c98 100644 --- a/plugin.yaml +++ b/plugin.yaml @@ -1,5 +1,4 @@ name: "unittest" -version: 1.0.4 usage: "unittest for helm 3 charts" description: "Unit test for helm 3 charts in YAML with ease to keep your chart functional and robust." diff --git a/update_version.sh b/update_version.sh new file mode 100755 index 000000000..61040e260 --- /dev/null +++ b/update_version.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# script used by goreleaser - see .goreleaser.yml + +echo "version: $1" >> plugin.yaml