name: Release on: push: tags: - 'v*.*.*' jobs: release: name: Release strategy: matrix: os: [ ubuntu-latest ] go-version: [ 1.14.x ] runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v1 with: go-version: ${{ matrix.go-version }} - name: Checkout code uses: actions/checkout@v2 # So GoReleaser can generate the changelog properly - name: Unshallowify the repo clone run: git fetch --prune --unshallow - name: Print Go version and environment id: vars run: | printf "Using go at: $(which go)\n" printf "Go version: $(go version)\n" printf "\n\nGo environment:\n\n" go env printf "\n\nSystem environment:\n\n" env # https://github.community/t5/GitHub-Actions/How-to-get-just-the-tag-name/m-p/32167/highlight/true#M1027 - name: Get the version id: get_version run: echo "::set-output name=version_tag::${GITHUB_REF/refs\/tags\//}" # GoReleaser will take care of publishing those artifacts into the release - name: Run GoReleaser uses: goreleaser/goreleaser-action@v1 with: version: latest args: release --rm-dist env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAG: ${{ steps.get_version.outputs.version_tag }}