A minimal, single-environment pipeline built with cascade.
This example promotes one application straight to a single prod environment.
It shows the smallest useful cascade setup: one build callback, one deploy
callback, and the generated orchestration and release workflows.
.github/manifest.yaml- the pipeline definition (under thecikey)..github/workflows/build-app.yaml- reusable build callback. Emits anartifactoutput..github/workflows/deploy-app.yaml- reusable deploy callback..github/workflows/orchestrate.yaml- generated. Reacts to merges onmainand opens a draft release..github/workflows/promote.yaml- generated. Drives the release lifecycle (create-draft,prerelease,release) via manual dispatch..github/actions/manage-release/- generated composite action used by the workflows..github/workflows/scenario-suite.yaml- an end-to-end check that exercises the full release lifecycle and asserts on the resulting tags and releases.
After editing the manifest, regenerate the workflows:
cascade generate-workflow --config .github/manifest.yaml --force- Merge a change touching
src/**tomain. Orchestrate opens a draft release tagged*-rc.0. - Dispatch Release with
release_action: prereleaseto publish the release candidate for testing. - Dispatch Release with
release_action: releaseto publishvX.Y.Z, mark it latest, and clean up the release-candidate tags.
The scenario-suite workflow runs the same three stages on a schedule and
asserts the expected tag and release shapes. It needs a CASCADE_STATE_TEST_TOKEN
repository secret.