feat!: v2 — function-named actions + shared building blocks + hardening#4
Merged
Merged
Conversation
Restructure the library so each action is named for its pipeline function, with
the language/tool pluggable behind inputs and a runner contract.
- Collapse per-stack actions: frontend/backend/mobile-build -> build;
frontend/backend/mobile-deploy -> deploy; mobile-checks -> verify;
infra-plan/infra-apply -> plan/apply; announce -> notify.
- Extract shared building blocks composed by the phase actions: auth (GCP/AWS
OIDC) and setup (runtime + deps + optional EAS login). Each provisioning step
is now defined once.
- No forced Makefile: build/deploy/plan/apply take a `run`/`run-*` command or a
`runner` (default make). All interpolated values pass via env (no ${{ }} in
run scripts).
- release.yml -> version.yml: owns the rc-vs-stable decision via default-branch
detection (kills the caller ternary footgun); verifies the semrel binary
checksum.
- Harden: third-party actions SHA-pinned (+ Dependabot), README folds in usage
examples and the runner contract.
BREAKING CHANGE: action paths and several inputs change. See the v2.0.0 release
notes for the v1 -> v2 migration map. v1 stays frozen for un-migrated callers.
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
v2 of the library. Each action is named for its pipeline function; the language/tool is pluggable behind inputs and a runner contract.
build(was frontend/backend/mobile-build),deploy(was the three deploys),verify(mobile-checks),plan/apply(infra-plan/apply),notify(announce).auth(GCP/AWS OIDC) andsetup(runtime + deps + optional EAS login), composed by the phase actions — each provisioning step defined once.build/deploy/plan/applytake arun/run-*command or arunner(defaultmake). All interpolated values go throughenv:(no${{ }}in run scripts).release.yml->version.yml: owns the rc-vs-stable decision via default-branch detection (removes the caller ternary footgun); verifies the semrel binary checksum.Breaking
Action paths and several inputs change. v1 stays frozen; the v1->v2 map goes in the v2.0.0 release notes. Internal action refs use
@v2, so they resolve once thev2tag is moved after merge.Test plan
lintcheck green (actionlint + composite shellcheck)v2.0.0, movev2, smoke-test on warehouse-tablet-app