feat: add Sailr workflow profiles and staged CI deployment flow#16
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
marked this pull request as ready for review
July 8, 2026 22:30
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
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 plansailr workflow graphsailr workflow explainStage 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
ci-deploy-planis non-mutating.staging-deployis manual only.--apply.approval = "external".Known limitations
ci-buildremains experimental unless explicitly enabled.