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
lanesync-upload action in CI and staging deploy workflows. teams maps to GitHub teams that can approve the evidence PR.5
Deployment
Quality gates (quality_gates)
The repo setup wizard Quality gates step pre-fills recommended defaults (aligned with Sonar Sonar way coverage and zero-tolerance security posture, plus OWASP Dependency-Check-style CVE limits). They are written to sdlc.yaml unless you clear fields or choose Do not enforce quality gates.
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)
- Staging deploy workflow includes
lanesync-upload(pipeline name matches your staging required check)
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.Validate configuration
Full schema
See sdlc.yaml schema reference for every field and constraint.Related
Update LaneSync Workflows
Refresh managed GitHub Actions templates — separate from editing sdlc.yaml.
Add LaneSync to existing CI
Keep your pipeline; wire evidence and gates manually.