name: Release on: push: tags: - v*.*.* jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Load Go version id: go-version run: | echo "::set-env name=GO_VERSION::$(tr -d '\n' < .github/versions/go)" - uses: actions/setup-go@v2 with: go-version: ${{ env.GO_VERSION }} - name: Select custom release notes id: release-notes run: | RELNOTES="docs/release-notes/RELEASE-${GITHUB_REF#refs/tags/}.md" [[ -f "$RELNOTES" ]] && echo ::set-output name=ARGS::--release-notes $RELNOTES || true - name: Docker Login env: DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} run: | echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - name: Load GPG private key run: | echo "$GPG_PRIVATE_KEY" | gpg --import env: GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - uses: goreleaser/goreleaser-action@v2 with: args: release --rm-dist ${{ steps.release-notes.outputs.ARGS }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Clear ~/.gnupg run: | rm -rf ~/.gnupg