feat: add docker-build and cloudrun-deploy composite actions#5
Open
gamechanger1s wants to merge 8 commits into
Open
feat: add docker-build and cloudrun-deploy composite actions#5gamechanger1s wants to merge 8 commits into
gamechanger1s wants to merge 8 commits into
Conversation
docker-build: WIF auth → Secret Manager → .env.production → buildx build+push to Artifact Registry cloudrun-deploy: WIF auth → Secret Manager → format env_vars → deploy-cloudrun Both actions eliminate the need for separate publish jobs or inter-job Docker caches. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add Docker build+push path to build@v2 (activated by image-name input) and Cloud Run deploy path to deploy@v2 (activated by cloudrun-service input). Existing static-site callers are unaffected — new inputs default to empty and all new steps are gated behind their respective discriminator inputs. Remove standalone docker-build and cloudrun-deploy actions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ments GitHub's YAML parser rejected inputs from both actions because UTF-8 multi-byte characters (U+2500, U+2014) in comment lines caused silent parse failure, making all inputs appear undefined.
Replaces mutable version tags with pinned commit SHAs in the Docker and Cloud Run steps of build and deploy actions to prevent supply chain attacks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The --maintained-version CLI flag expects a semver constraint (e.g. 1)
not a prerelease identifier. Writing maintainedVersion to .semrelrc matches
how go-semantic-release expects the config, producing v{major}.x.y-rc.N tags.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The existing `build@v2` and `deploy@v2` composite actions are designed around a static-site deployment pattern — they produce a file artifact, upload it between jobs, and push it to a GCS bucket + CDN. They cannot be reused as-is for projects that build a Docker image and deploy to a container runtime.
Rather than adding standalone actions, this PR extends the existing `build@v2` and `deploy@v2` actions with conditional Docker/Cloud Run paths via new opt-in inputs. Existing callers are completely unaffected — all new inputs default to empty and every new step is gated behind its discriminator.
`build@v2` — Docker path (activated by `image-name`)
When `image-name` is set the action switches to Docker build+push mode. The static-build steps (`Build`, `Upload artifact`) are skipped via `if: inputs.image-name == ''`. New steps run in their place:
`deploy@v2` — Cloud Run path (activated by `cloudrun-service`)
When `cloudrun-service` is set the action switches to Cloud Run deploy mode. The standard `Deploy` step is skipped via `if: inputs.cloudrun-service == ''`. New steps run in their place:
Design decisions
Test plan
🤖 Generated with Claude Code