Skip to content

Commit

Permalink
Added automatic releaser (#217)
Browse files Browse the repository at this point in the history
  • Loading branch information
ErwinsExpertise authored Dec 8, 2021
1 parent be66ee4 commit db9524d
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 68 deletions.
47 changes: 0 additions & 47 deletions .github/workflows/goreleaser.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/notify-release.yml

This file was deleted.

96 changes: 96 additions & 0 deletions .github/workflows/releaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: "Automatic Releaser"

on:
push:
branches:
- master

permissions:
contents: write

jobs:
check-commit:
runs-on: ubuntu-latest
outputs:
msg_check: ${{ steps.check-msg.outputs.match }}
steps:
- name: Check Message
id: check-msg
run: |
pattern="^Release v[0-9].[0-9].[0-9] #(minor|major|patch)$"
if [[ "${{ github.event.head_commit.message }}" =~ ${pattern} ]]; then
echo ::set-output name=match::true
fi
create-tag:
runs-on: ubuntu-latest
if: needs.check-commit.outputs.msg_check == 'true'
needs: check-commit
outputs:
new_tag: ${{ steps.tagger.outputs.new_tag }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'

- name: Bump version and push tag
id: tagger
uses: anothrNick/github-tag-action@1.36.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
WITH_V: true
DEFAULT_BUMP: "none"

goreleaser:
runs-on: ubuntu-latest
needs: create-tag
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.16
-
name: Docker Login
if: success() && startsWith(github.ref, 'refs/tags/v')
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: |
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.VULTRBOT_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
-
name: Clear
if: always() && startsWith(github.ref, 'refs/tags/v')
run: |
rm -f ${HOME}/.docker/config.json
release:
runs-on: ubuntu-latest
needs: ["goreleaser", "create-tag"]
name: Release Notification
steps:
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
- run: |
echo "{\"text\":\"Vultr-CLI : Release https://github.com/${{ github.repository }}/releases/tag/${{ needs.create-tag.outputs.new_tag }} \"}" > mattermost.json
- uses: mattermost/action-mattermost-notify@master
env:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
MATTERMOST_USERNAME: ${{ secrets.MATTERMOST_USERNAME}}
MATTERMOST_ICON: ${{ secrets.MATTERMOST_ICON }}

0 comments on commit db9524d

Please sign in to comment.