Skip to content

bumplock does not validate license compliance — stale and missing entries accumulate in NOTICE.TXT #19551

Description

@mashhurs

Summary

The bumplock process (which updates Gemfile.jruby-*.lock.release on active branches 8.19, 9.4, and 9.5) upgrades gem versions but never runs the license check. As a result, two classes of silent drift build up over time:

  1. Missing entries — a newly pinned or upgraded gem has no license mapping in licenseMapping.csv and no corresponding *-NOTICE.txt file, causing the passport-control CI job to fail on the next unrelated PR.
  2. Stale entries — when a gem is upgraded, the old version URL in tools/dependencies-report/src/main/resources/notices/<gem>-NOTICE.txt is never updated to match the new version, so NOTICE.TXT continues to reference the old tag.

Concrete examples found

Issue Gem Details
Missing license mapping + NOTICE resolv 0.7.2 Pinned in #19483 on 8.19 but licenseMapping.csv had no resolv: entry and resolv-NOTICE.txt didn't exist. The passport-control job failed on build #4344.
Stale NOTICE URL jrjackson 0.5.2 jrjackson-NOTICE.txt still pointed to https://github.com/guyboertje/jrjackson/blob/v0.4.6/README.md despite the gem being on 0.5.2.

Root cause

bumplock only updates the lockfile. It does not call bin/dependencies-report or ./gradlew generateLicenseReport afterwards, so neither missing nor stale license metadata is caught until the passport-control CI step runs on a future PR — often one that has nothing to do with the dependency change.

Proposed fix

Add a bin/dependencies-report --csv /tmp/report.csv step to the bumplock CI job (or as a post-step), identical to what ci/license_check.sh does. A failure would signal that either:

  • a new licenseMapping.csv entry is needed, or
  • a *-NOTICE.txt file needs to be created or updated.

This applies to the three active branches that have bumplock: 8.19, 9.4, and 9.5.

References

  • bumplock lockfiles: Gemfile.jruby-3.4.lock.release
  • License check script: ci/license_check.sh
  • License mapping: tools/dependencies-report/src/main/resources/licenseMapping.csv
  • NOTICE templates: tools/dependencies-report/src/main/resources/notices/

Recent fixes:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions