From c7b17db46ef893c9ca0926aa561f83c18ca500de Mon Sep 17 00:00:00 2001 From: Jiro Date: Wed, 29 Jul 2026 08:13:15 +0900 Subject: [PATCH] ci: define release build profile Define the empty production build profile for the GoReleaser step so its environment template can be expanded. Document the release profile contract in English and Japanese.\n\nVerified with go test ./..., the Web production build, YAML parsing, and git diff --check. --- .github/workflows/release.yml | 1 + docs/design/deployment.ja.md | 4 ++++ docs/design/deployment.md | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f1d8fa1..a98fd34c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,3 +49,4 @@ jobs: args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TQ_BUILD_PROFILE: "" diff --git a/docs/design/deployment.ja.md b/docs/design/deployment.ja.md index f025f0a1..c63c1bc3 100644 --- a/docs/design/deployment.ja.md +++ b/docs/design/deployment.ja.md @@ -13,6 +13,10 @@ Tasq は version tag の push を起点にリリース成果物をデプロイ 5. workflow が Web frontend を build し、Go tests を実行し、その後 GoReleaser を実行します。 6. GoReleaser が `tq` と管理対象サービスの実行ファイルを build して archives にまとめ、checksums を作成し、GitHub Release を作成または更新します。 +Release artifact では空の `TQ_BUILD_PROFILE` を使用します。GoReleaser は +template から参照する環境変数について、意図する値が空の場合でも変数自体が +存在することを要求するため、workflow で明示的に定義します。 + ## Prerelease Prerelease は、正式な安定版 release として扱わない検証用 build に使います。 diff --git a/docs/design/deployment.md b/docs/design/deployment.md index 6336a23f..cb04c5c1 100644 --- a/docs/design/deployment.md +++ b/docs/design/deployment.md @@ -13,6 +13,10 @@ Tasq deploys release artifacts by pushing version tags. The local operator creat 5. The workflow builds the Web frontend, runs Go tests, and then runs GoReleaser. 6. GoReleaser builds `tq` plus the managed service executables, packages them into archives, checksums them, and creates or updates the GitHub Release. +Release artifacts use an empty `TQ_BUILD_PROFILE`. The workflow defines the +variable explicitly because GoReleaser requires every environment variable +referenced by its templates to exist, even when the intended value is empty. + ## Prerelease Use prereleases for validation builds that should not be treated as formal stable releases.