ci: FINOS license compliance workflow (#271)#272
Merged
Conversation
…config Gradle (com.github.jk1:gradle-license-report): - checkLicense task applied to all subprojects, scans runtimeClasspath only - gradle-allowed-licenses.json covers FINOS Category A (permitted) and Category B (permitted with CONTRIBUTING notice); Category X fails the build - gradle-license-overrides.txt documents correct license for two deps with malformed POM declarations (org.jspecify:jspecify, com.nimbusds:oauth2-oidc-sdk), both confirmed Apache-2.0; excluded from the compliance check accordingly - InventoryHtmlReportRenderer generates a grouped HTML report per subproject npm (license-checker-rseidelsohn): - Added as pinned devDependency in frontend package.json - license-check npm script checks production deps only with FINOS A/B allowlist - All 13 production deps pass: MIT / BSD-3-Clause / Apache-2.0 / ISC CI (license.yml): - Two jobs: 'Gradle (license)' and 'npm (license)' — distinct from CVE check contexts so they can be gated independently in branch protection - Gradle report uploaded as artifact on every run Removes gradle-suppressions.xml (OWASP dependency-check no longer in use; CVE scanning handled by Grype via cve.yml). closes #271 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38d086a to
6ba34e3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
license.ymlworkflow enforcing FINOS license category compliance on every push/PR to maingradle-suppressions.xml(OWASP dependency-check no longer used; CVE scanning handled by Grype)Changes
Gradle (
com.github.jk1:gradle-license-report)checkLicensetask applied to all subprojects, scansruntimeClasspathonlygradle-allowed-licenses.json— FINOS Category A (permitted) + Category B (permitted with CONTRIBUTING notice); Category X omitted → build fails on violationgradle-license-overrides.txt— PSV overrides for two deps with malformed POM license declarations (org.jspecify:jspecify,com.nimbusds:oauth2-oidc-sdk), both confirmed Apache-2.0InventoryHtmlReportRenderergenerates a grouped HTML report uploaded as a CI artifactnpm (
license-checker-rseidelsohn)package.jsonlicense-checknpm script checks production deps only (--production --excludePrivatePackages)Test plan
./gradlew checkLicense -PskipFrontendpasses clean across all three subprojects locallynpm run license-checkpasses locally (13 deps, all FINOS Category A)license.ymlworkflow passes on this PRcloses #271