donetick/.github/workflows/go-release.yml

58 lines
1.5 KiB
YAML

name: Go Release
permissions:
contents: write
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Checkout Frontend
uses: actions/checkout@v4
with:
repository: 'donetick/frontend'
token: ${{ secrets.GITHUB_TOKEN }}
path: 'frontend-code'
# build frontend
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install Dependencies
run: |
cd frontend-code
npm install
- name: Build Frontend
run: |
cd frontend-code
npm run build
- name: Copy Frontend
run: |
cp -r frontend-code/dist/ ./frontend/dist
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.22
check-latest: true
cache: true
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
# either 'goreleaser' (default) or 'goreleaser-pro'
distribution: goreleaser
# 'latest', 'nightly', or a semver
version: latest
args: release --clean --skip=validate
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}