sdlc.yaml for your repository. LaneSync reads this file from GitHub on every stage-details request.
Before you start
- Repo setup wizard completed (or
sdlc.yamlexists at repo root) - You know your GitHub Actions job names (they must match
required_checksexactly) - You have decided: trunk-based or release-branch workflow
Base structure
Stage-by-stage configuration
1
Planning
2
Development
required_checks lists GitHub Actions check names that must pass on main. Only failures on these checks block the stage.3
Testing
- Release-branch
- Trunk-based
release/v1.0.0 after development. Gates evaluate the release branch.4
Evidencing
teams maps to GitHub teams that can approve the evidence PR.5
Deployment
Staging environment (hasStaging)
The repo wizard hasStaging toggle controls whether your pipeline includes a staging environment between development and production.
When enabled (Dev → Staging → Prod), bootstrap generates:
deploy_target: stagingunderstages.testing- Staging deploy workflow templates (when you do not already have deployment workflows)
- Additional evidencing artifacts:
test-results-stagingalongsidesdlc-evidence
Release model (releaseModel)
The wizard releaseModel field sets how code moves from development to testing.
- Trunk (`trunk`)
- Release-branch (`release-branch`)
Development and testing both target the development branch (usually
main). There is no separate release branch to cut.In sdlc.yaml, stages.testing.branch_pattern equals the development branch name — for example main.Best for: Continuous delivery teams that ship directly from trunk.SDLC Enforce is always required regardless of release model. Only checks listed in required_checks block a stage when they fail.Apply changes
- Edit
sdlc.yamlin a branch - Open a PR and merge to the default branch
- LaneSync webhook fires → re-parses checks → updates rulesets → re-syncs milestones
After renaming a CI job, update
required_checks in the same PR as the workflow change to avoid phantom BLOCKING badges.