From 2212827b35941dcbceb369289dc8028fc3cdfc20 Mon Sep 17 00:00:00 2001 From: Peter Pathirana Date: Thu, 20 Aug 2026 08:08:50 +0000 Subject: [PATCH 1/3] feat(github-actions): publish coder-workspace images to GHCR on release Adopts ppat/github-workflows build-docker-image.yaml v6.0.0 (currently unmerged at ppat/github-workflows#615 -- the pin below targets that PR's head SHA and must be repointed to the v6.0.0 tag once it merges). - source_git_ref -> git_ref (input renamed in v6, breaking) - image_id output removed in v6; unused here, no change needed - new ghcr_repository input wired to publish only on real releases, gated the same way publish-template already gates its own coder template push (released_version != 'v0.0.0'), so PR/dry-run/ workflow_dispatch test builds never publish to GHCR - publish-image now declares job-level `packages: write` -- required unconditionally by the called workflow even though this repo also publishes to a private registry, because a job's `permissions:` block cannot be made conditional; omitting it fails the whole workflow at load time, not just the GHCR step --- .github/workflows/release.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 19ed3a67..3b337f86 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -39,7 +39,10 @@ jobs: publish-image: needs: [create-release] - uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@667d20d10c8756b11feeab1ee691825ccea8f991 # v5.0.1 + permissions: + contents: read + packages: write + uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@a6829b4b819f7c39adabf277c7d87a1e663c186d # v6.0.0 (unmerged PR #615 -- repoint to the v6.0.0 tag before merge) with: image_context_path: images/homelab-workspace label_title: "Homelab Workspace" @@ -47,7 +50,8 @@ jobs: platforms: linux/amd64,linux/arm64 private_registry_repository: ${{ vars.CONTAINER_REGISTRY_PATH }}/coder-workspace private_registry_build_cache: ${{ vars.CONTAINER_REGISTRY_CACHE_PATH }}/coder-workspace - source_git_ref: ${{ needs.create-release.outputs.released_gitref }} + git_ref: ${{ needs.create-release.outputs.released_gitref }} + ghcr_repository: ${{ needs.create-release.outputs.released_version != 'v0.0.0' && 'ppat/coder-workspace' || '' }} timeout_minutes: 180 secrets: private_registry_username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} From ee3a4980fe3991f9656044024cc47258b948fac1 Mon Sep 17 00:00:00 2001 From: Peter Pathirana Date: Thu, 20 Aug 2026 09:22:19 +0000 Subject: [PATCH 2/3] chore(github-actions): repoint github-workflows v6.0.0 pin to PR #615's fixed head The prior pin predated a fix for a malformed-repository input that left the publish gate on while warning it was disabled, producing a broken image reference and a hard failure. Repoint to the current head so this build validates against the fixed behaviour. The release-semantic.yaml pin is untouched. --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 3b337f86..9517258a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -42,7 +42,7 @@ jobs: permissions: contents: read packages: write - uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@a6829b4b819f7c39adabf277c7d87a1e663c186d # v6.0.0 (unmerged PR #615 -- repoint to the v6.0.0 tag before merge) + uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@59629d576a6f1f02a5794257e7a6bea4f31f9992 # v6.0.0 (unmerged PR #615 -- repoint to the v6.0.0 tag before merge) with: image_context_path: images/homelab-workspace label_title: "Homelab Workspace" From 9106c35d684146c58f1ba69b7dce6763ed71099a Mon Sep 17 00:00:00 2001 From: Peter Pathirana Date: Thu, 20 Aug 2026 21:26:06 +0000 Subject: [PATCH 3/3] chore(github-actions): repoint build-docker-image pin to the released v6.0.0 tag --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9517258a..c34779ca 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -42,7 +42,7 @@ jobs: permissions: contents: read packages: write - uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@59629d576a6f1f02a5794257e7a6bea4f31f9992 # v6.0.0 (unmerged PR #615 -- repoint to the v6.0.0 tag before merge) + uses: ppat/github-workflows/.github/workflows/build-docker-image.yaml@5a96ced8ceefd58062f6b91ee9d6f3a31cd06e1c # v6.0.0 (unmerged PR #615 -- repoint to the v6.0.0 tag before merge) with: image_context_path: images/homelab-workspace label_title: "Homelab Workspace"