name: release on: push: tags: - "*" jobs: pre_release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Get plugin version id: get_plugin_version run: echo "PLUGIN_VERSION=$(cat plugin.yaml | grep "version" | cut -d '"' -f 2)" >> $GITHUB_OUTPUT - name: Get tag name id: get_tag_name run: echo "TAG_NAME=$(echo ${{ github.ref_name }} | cut -d 'v' -f2)" >> $GITHUB_OUTPUT outputs: plugin_version: ${{ steps.get_plugin_version.outputs.PLUGIN_VERSION }} release_tag: ${{ steps.get_tag_name.outputs.TAG_NAME }} release: needs: pre_release runs-on: ubuntu-latest steps: - name: Plugin version/Tag name Check if: needs.pre_release.outputs.release_tag != needs.pre_release.outputs.plugin_version uses: actions/github-script@v3 with: script: | core.setFailed('Plugin version and tag name are not equivalent!') - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.18 - name: git cleanup run: git clean -f - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: version: latest args: release --rm-dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Test Binary Versions run: "dist/helm-dashboard_linux_amd64_v1/helm-dashboard --help"