Skip to content

Replace ORT with syft + grant for license compliance#183

Closed
timo-reymann wants to merge 3 commits into
mainfrom
feat/replace-ort-with-syft-grant
Closed

Replace ORT with syft + grant for license compliance#183
timo-reymann wants to merge 3 commits into
mainfrom
feat/replace-ort-with-syft-grant

Conversation

@timo-reymann

Copy link
Copy Markdown
Owner

Summary

  • Replace ORT (OSS Review Toolkit) with syft (SBOM generation) + grant (license policy checking)
  • Add notice.tmpl Go template for generating NOTICE file via syft
  • Add .grant.yaml with allow-list based license policy
  • New license-check.yml workflow with PR comments and policy enforcement
  • NOTICE file reduced from ~11K lines (full license text) to ~950 lines (SPDX identifiers per package)

Test plan

  • Verify syft dir:. -o template -t ./notice.tmpl generates correct NOTICE locally
  • Verify grant check dir:. passes with no denied packages
  • Open a test PR to confirm the workflow runs and posts a comment
  • Confirm NOTICE file is still correctly embedded into the Go binary

🤖 Generated with Claude Code

Replace the heavyweight ORT (OSS Review Toolkit) workflow with syft for
SBOM/NOTICE generation and grant for license policy checking. This
simplifies the license compliance pipeline while maintaining PR comments
and policy enforcement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

License Compliance Report

License policy check passed

⚠️ NOTICE file is out of date — please regenerate it with:

./generate-notice.sh dir:. > NOTICE

@codecov

codecov Bot commented Feb 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 76.58%. Comparing base (8821f0c) to head (495354b).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #183   +/-   ##
=======================================
  Coverage   76.58%   76.58%           
=======================================
  Files          81       81           
  Lines        1930     1930           
=======================================
  Hits         1478     1478           
  Misses        318      318           
  Partials      134      134           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

timo-reymann and others added 2 commits February 22, 2026 12:20
Replace the syft Go template approach with a shell script that fetches
canonical license texts from the SPDX license-list-data repository.
This is language-agnostic and works for any package manager syft supports.

Also uploads the generated NOTICE file as a workflow artifact.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Read real LICENSE files from Go module cache and syft-detected locations
on disk. Only fall back to canonical SPDX texts when actual files are
unavailable. This gives proper copyright holder information.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot

See analysis details on SonarQube Cloud

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