Skip to content

Release 0.35.0

Release 0.35.0 #28

on:
push:
branches:
- master
name: Master Workflow - Test and release
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- name: Install Node&Npm
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Checkout code
uses: actions/checkout@v2
- name: Retrieve new version
run: |
echo "::set-output name=TAG_NAME::$(cat main.go|grep app.Version|grep -Eo '[0-9.]{2,100}')"
id: version
- name: "Check releases notes"
uses: andstor/file-existence-action@v1
with:
allow_failure: true
files: release-notes/${{ steps.version.outputs.TAG_NAME }}.md
- uses: actions/cache@v2
with:
# In order:
# * Module download cache
# * Build cache (Linux)
# * Build cache (Mac)
# * Build cache (Windows)
path: |
~/go/pkg/mod
~/.cache/go-build
~/Library/Caches/go-build
%LocalAppData%\go-build
/home/runner/.cache/firebase/emulators
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Install firebase
run: make install-firebase
- name: Build
run: make build
- name: Run emulator and test
run: make test
release:
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.15
- name: Retrieve new version
run: |
echo "::set-output name=TAG_NAME::$(cat main.go|grep app.Version|grep -Eo '[0-9.]{2,100}')"
id: version
- name: Tag
run: |
tag=${{ steps.version.outputs.TAG_NAME }}
message='Release ${{ steps.version.outputs.TAG_NAME }}'
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git tag -a "${tag}" -m "${message}"
git push origin "${tag}"
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
distribution: goreleaser
version: v1.12.3
args: release --rm-dist --release-notes=release-notes/${{ steps.version.outputs.TAG_NAME }}.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}