Context
0012 fixes the host and says logic lives inpnpm scripts, but not how deploys are described. A private platform repository
has a provider model and a manifest, but it is proprietary, so a public repository cannot call its private reusable workflows.
Stackra needs deploys to Encore Cloud, AWS, Cloudflare and EAS from one manifest.
Decision
- A focused “runway” lives in this repository, MIT, with public reusable workflows. It ports only the pieces Stackra needs; the policy engine and signed records come later.
runway.yamlis the manifest, a subset of the platform’s (renamed from its earlier manifest name; schemaTODO).- Providers:
encore-cloud,aws-ecs(viaencore build docker),cloudflare-workers,eas. GCP Cloud Run is a new provider when needed. Publishing tonpm.figentra.comis part of runway (0025). - Gate and notification providers: spec to Linear project, plan to issues, PR key check (0065), CI to comments and Slack
#ci, deploy to a Linear release and#deploys, incidents. - Environments: local, PR preview, staging, production. Production promotion is manual and needs approval (0012 rule 7).
- Workflow files stay thin. They call
pnpmscripts that readrunway.yaml(0012 rule 3). Secrets arrive through OIDC (0009).
Consequences
- One manifest instead of per-provider YAML; the cost is owning a deploy tool.
- Porting from a private repository needs the owner’s relicence of the ported code to MIT.
- This depends on 0012 being accepted; until then it is a proposal built on a proposal.
Enforcement
Planned:runway.yaml schema validation in pnpm validate, and the reusable workflows under .github/workflows/. Nothing exists yet.