Skip to main content
Use this guide when your repository already has CI and you chose “Yes, I have one” in the setup wizard. LaneSync still adds sdlc-enforce.yml and branch protection; you add report generation and one upload step to your existing pipeline. When LaneSync ships template improvements, Update LaneSync Workflows refreshes sdlc-enforce.yml only for repos with external CI — your pipeline files, including the upload action you copy below, stay untouched.
LaneSync auto-tags (dev-* / *-rc-*) apply only to LaneSync CI templates. Keep creating those tags in your own workflow if you need RC promotion on evidence approval.
LaneSync only receives the report files listed here — never your source code.
1

Add the upload action to your repository

Save this file as .github/actions/lanesync-upload/action.yml and commit it. It detects your report files, builds the payload, authenticates, and uploads with retry.
.github/actions/lanesync-upload/action.yml
2

Grant OIDC permission

Alternatively, store a LaneSync API key as the LANESYNC_API_KEY repository secret — see Authentication.
3

Emit a machine-readable test and coverage report

Keep your existing test command and add the reporter flags below. Write the files to the paths shown so the action finds them.The full list of recognized file names is in Supported report formats. Tag tests with feat_<issue#> in their names so Quality Insights links them to features. For regression or fix issues, add Existing feature: #<number> in the GitHub issue body so LaneSync keeps the same FEAT-ID (see Quality tracking).
4

Add SAST (OpenGrep — free, no account)

Any SARIF-producing scanner works — write its output to sast.sarif. Exclude generated reports and build output: tool-generated HTML (JaCoCo, coverage.py, Istanbul) triggers HTML/JS rules that are not findings in your code.
5

Add CVE scanning (Trivy)

Trivy needs a lockfile (package-lock.json, poetry.lock, go.sum, gradle.lockfile, …) to see your dependencies. Commit one, or the CVE report will say no manifests were scanned.
6

Upload evidence to LaneSync

Add this as the last step of the job that produced the reports:
The action uploads on the development branch (dev), release branches (staging), and published releases (production), and skips pull requests. It needs actions/checkout earlier in the job so the action file exists.

Verify

After the next push to your development branch, open the workflow run’s Summary. The LaneSync Evidence table shows detected tests, coverage, and upload status. The “Collect reports” step log lists the exact files it found:
If a report is missing there, check its file name against the table above.

Integration tests (optional)

Optional: Teams already running SonarQube Community Edition can add sonarqube-scan-action separately. LaneSync scorecards read coverage from the report files your workflow uploads, not from Sonar’s dashboard.

CI evidence upload

Payload, authentication, supported formats, and troubleshooting.

Quality tracking

How uploaded test cases link to features.