summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorMohammed Al Sahaf <msaa1990@gmail.com>2020-03-25 08:13:36 +0300
committerGitHub <noreply@github.com>2020-03-24 23:13:36 -0600
commit0fa1a3b630eccc15854c5ac2ecf95c856e22cbb3 (patch)
treee9f52a01cb368b4b30cd662926992cb0fb91c698 /.github/workflows
parent169883868503c809c9ac9c8c1fe93c7deff9cd2e (diff)
ci: preliminary CD with goreleaser (#3173)
* chore: ci: preliminary CD support * chore: ci: split release process into its own workflow * chore: ci: cleanup the ci.yml and .goreleaser.yml * chore: ci: unshallowify the clone before searching for the closes tag * chore: tidy up goreleaser config & the release githubaction * chore: add --no-tty to gpg args * chore: more gpg args * chore: try with default gpg args by goreleaser * chore: gpg... * chore: set GPG_TTY * chore: preset gpg conf * Apply suggestions from code review chore: tidy up the .goreleaser.yml Co-Authored-By: Dave Henderson <dhenderson@gmail.com> * chore: gpg debugging * chore: set and export the tty for gpg * chore: gpg.. * chore: use the exact same line from goreleaser-action README for singing * chore: remove signing stanzas from ymls * chore: clean up the release action for final submission * quote the arguments of echo Co-Authored-By: Francis Lavoie <lavofr@gmail.com> Co-authored-by: Dave Henderson <dhenderson@gmail.com> Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..250792c
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,53 @@
+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.vars.outputs.version_tag }}