Skip to content

ci: add license verification workflow#23

Merged
dims merged 1 commit intoNVIDIA:mainfrom
dims:feat/verify-licenses-v2
Feb 2, 2026
Merged

ci: add license verification workflow#23
dims merged 1 commit intoNVIDIA:mainfrom
dims:feat/verify-licenses-v2

Conversation

@dims
Copy link
Collaborator

@dims dims commented Feb 2, 2026

Add GitHub Action to verify all Go dependencies use CNCF-approved licenses, inspired by Kubernetes' verify-licenses.sh pattern.

Uses google/go-licenses to check against allowed license list: Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT

Changes from review feedback:

  • Pin go-licenses version (v1.6.0) in .versions.yaml
  • Use load-versions action for consistent tooling
  • Update actions/setup-go to v6.2.0 (SHA-pinned)
  • Add workflow file to paths trigger for self-testing

Summary

Motivation / Context

Fixes:
Related:

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • Build/CI/tooling

Component(s) Affected

  • CLI (cmd/eidos, pkg/cli)
  • API server (cmd/eidosd, pkg/api, pkg/server)
  • Recipe engine / data (pkg/recipe)
  • Bundlers (pkg/bundler, pkg/component/*)
  • Collectors / snapshotter (pkg/collector, pkg/snapshotter)
  • Validator (pkg/validator)
  • Core libraries (pkg/errors, pkg/k8s)
  • Docs/examples (docs/, examples/)
  • Other: ____________

Implementation Notes

Testing

# Commands run (prefer `make qualify` for non-trivial changes)
make qualify

Risk Assessment

  • Low — Isolated change, well-tested, easy to revert
  • Medium — Touches multiple components or has broader impact
  • High — Breaking change, affects critical paths, or complex rollout

Rollout notes:

Checklist

  • Tests pass locally (make test with -race)
  • Linter passes (make lint)
  • I did not skip/disable tests to make CI green
  • I added/updated tests for new functionality
  • I updated docs if user-facing behavior changed
  • Changes follow existing patterns in the codebase
  • Commits are signed off (git commit -s) — DCO info

Copilot AI review requested due to automatic review settings February 2, 2026 03:27
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds CI tooling to verify that all Go dependencies use CNCF-approved licenses, aligning dependency policy enforcement with the rest of the project’s centralized tooling/versioning approach.

Changes:

  • Add go_licenses version entry to .versions.yaml under the linting tools section.
  • Introduce a verify-licenses GitHub Actions workflow that runs google/go-licenses on Go modules, using centralized versions from the load-versions composite action and a SHA-pinned actions/setup-go v6.2.0.
  • Extend workflow path triggers so changes to verify-licenses.yaml itself also trigger the license verification job.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.versions.yaml Adds a pinned go_licenses version to the shared versions manifest so the tool can be consistently installed in CI.
.github/workflows/verify-licenses.yaml Defines the new license verification workflow, wiring it into the central version loader and updating the Go setup action and triggers accordingly (though the go_licenses output wiring in load-versions still needs to be added for the install step to work).

Add GitHub Action to verify all Go dependencies use CNCF-approved
licenses, inspired by Kubernetes' verify-licenses.sh pattern.

Uses google/go-licenses to check against allowed license list:
Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT

Changes from review feedback:
- Pin go-licenses version (v1.6.0) in .versions.yaml
- Use load-versions action for consistent tooling
- Update actions/setup-go to v6.2.0 (SHA-pinned)
- Add workflow file to paths trigger for self-testing

Signed-off-by: Davanum Srinivas <dsrinivas@nvidia.com>
@dims dims force-pushed the feat/verify-licenses-v2 branch from 803a1c3 to e47f2f9 Compare February 2, 2026 03:29
@dims dims merged commit 2be1867 into NVIDIA:main Feb 2, 2026
4 checks passed
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

Coverage Report ✅

Metric Value
Coverage 73.8%
Threshold 70%
Status Pass
Coverage Badge
![Coverage](https://img.shields.io/badge/coverage-73.8%25-green)

No Go source files changed in this PR.

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.

2 participants