feat: automate release process using Taskfile and GitHub Actions

This commit is contained in:
Prad Nukala 2025-01-01 15:22:40 -05:00
parent 57bce7d50e
commit a5dd620b17
2 changed files with 35 additions and 2 deletions

34
.github/Taskfile.yml vendored Normal file
View File

@ -0,0 +1,34 @@
version: "3"
vars:
VERSION:
sh: git describe --tags --abbrev=0
COMMIT:
sh: git rev-parse --short HEAD
ROOT:
sh: git rev-parse --show-toplevel
OS:
sh: uname -s
TASKS:
sh: task -l
tasks:
date:
desc: Returns date in YEAR.WEEK.DAY format
cmds:
- |
YEAR=$(date +%Y)
WEEK=$(date +%V)
DAY=$(date +%u)
echo "${YEAR}.${WEEK}.${DAY}"
vars:
DATE: '{{default "" .CLI_ARGS}}'
silent: true
release:
desc: Create a new release with formatted date
cmds:
- go install github.com/goreleaser/goreleaser/v2@latest
- RELEASE_DATE=$(task date) goreleaser release --clean
silent: true

View File

@ -44,9 +44,8 @@ jobs:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Run GoReleaser
run: task release
run: task -t .github/Taskfile.yml release
env:
TASK_X_REMOTE_TASKFILES: 1
GITHUB_TOKEN: ${{ secrets.GH_RELEASER_TOKEN }}
GITHUB_PERSONAL_AUTH_TOKEN: ${{ secrets.GH_RELEASER_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}