diff options
| author | Mohammed Al Sahaf <msaa1990@gmail.com> | 2020-03-25 08:13:36 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-24 23:13:36 -0600 | 
| commit | 0fa1a3b630eccc15854c5ac2ecf95c856e22cbb3 (patch) | |
| tree | e9f52a01cb368b4b30cd662926992cb0fb91c698 /.github | |
| parent | 169883868503c809c9ac9c8c1fe93c7deff9cd2e (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')
| -rw-r--r-- | .github/workflows/release.yml | 53 | 
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 }} | 
