Skip to content

feat: add Sailr workflow profiles and staged CI deployment flow#16

Merged
josh-tracey merged 18 commits into
mainfrom
experiment/runkernel
Jul 8, 2026
Merged

feat: add Sailr workflow profiles and staged CI deployment flow#16
josh-tracey merged 18 commits into
mainfrom
experiment/runkernel

Conversation

@josh-tracey

@josh-tracey josh-tracey commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Sailr workflow profiles backed by runkernel, with safe CI execution, workflow inspection, reporting, local deploy, CI deploy planning, and staging deploy support behind external approval.

Completed stages

Stage 1: CI check profile

Status: complete

Stage 2: build-plan, generate, and local build fixture

Status: complete

Stage 3: GitHub Actions profile matrix

Status: complete

Stage 4: workflow summaries, JSON reports, and inspection

Status: complete

Includes:

  • sailr workflow plan
  • sailr workflow graph
  • sailr workflow explain

Stage 5: local deploy workflow

Status: complete

Stage 6: CI deploy-plan workflow

Status: complete

Stage 7: staging deploy with external approval

Status: complete / experimental

Safety model

  • Normal PR CI does not deploy.
  • ci-deploy-plan is non-mutating.
  • staging-deploy is manual only.
  • CI deploy execution requires --apply.
  • CI deploy execution requires approval = "external".
  • Production deploy is intentionally unsupported.

Known limitations

  • Production deploy is out of scope.
  • Promotion and rollback are out of scope.
  • Registry push / image digest promotion are out of scope.
  • ci-build remains experimental unless explicitly enabled.

@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sailr Ready Ready Preview, Comment Jul 8, 2026 10:28pm

@josh-tracey josh-tracey changed the title wip: working on ci work draft: add Sailr workflow profiles and CI stages Jul 8, 2026
This commit refactors the workflow pipeline to align the CI matrix profiles (ci, ci-build-plan, ci-generate, ci-build) with distinct capabilities.

- Updated `WorkflowProfile` steps to `Option<WorkflowStepMode>` to permit explicit `disabled` overrides.
- Refactored `normalize()` to fall back to mode-specific defaults only when fields are `None`.
- Set `build = "disabled"` in the `ci` profile inside `sailr.workflow.toml`, forcing it into a validate-only state.
- Enhanced the runner summary to explicitly list tasks under 'Completed', 'Failed', and 'Skipped'.
- Included a `tasks.items` array in JSON reports indicating exact status.
- Added planner and config test assertions to verify distinct output states.
… explain)

* Extracts WorkflowPlan structurally from Pipeline building.
* Implements 'sailr workflow plan <profile>' with effects tracking.
* Implements 'sailr workflow graph <profile> [--format mermaid]'.
* Implements 'sailr workflow explain <profile> <task>'.
…proval

- Add `staging-deploy` workflow profile to default configuration
- Add `--apply` CLI argument for explicit mutation intent
- Implement strict CI mutation gates in `runner.rs` (requires `--apply`, `external` approval, and valid `deploy_context`)
- Support explicit `external` approval metadata rendering in `workflow plan` and `workflow explain`
- Add `staging-deploy` manual job to `.github/workflows/sailr-ci.yml`
@josh-tracey josh-tracey changed the title draft: add Sailr workflow profiles and CI stages feat: add Sailr workflow profiles and staged CI deployment flow Jul 8, 2026
@josh-tracey
josh-tracey marked this pull request as ready for review July 8, 2026 22:30
@josh-tracey
josh-tracey merged commit 097b150 into main Jul 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant