From a5dd620b17af4494c47a1dbb6d0a6cd60d9d2ef7 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Wed, 1 Jan 2025 15:22:40 -0500 Subject: [PATCH] feat: automate release process using Taskfile and GitHub Actions --- .github/Taskfile.yml | 34 ++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 3 +-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 .github/Taskfile.yml diff --git a/.github/Taskfile.yml b/.github/Taskfile.yml new file mode 100644 index 000000000..144fb2d81 --- /dev/null +++ b/.github/Taskfile.yml @@ -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 + diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4107098b7..a6af0c877 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 }}