Skip to content

pyamber license check fails: cloudpickle has no LICENSE-binary bullet #8296

Closed as not planned

Description

@aglinxinyuan

What happened?

build / pyamber (ubuntu-latest, 3.12) fails repo-wide at the step Check installed Python packages against per-module LICENSE-binary files. A new transitive dependency is in the environment with no bullet in amber/LICENSE-binary-python:

NEW Python packages not claimed by LICENSE-binary:
  + cloudpickle==3.1.2  (license: BSD License) → add to amber/LICENSE-binary-python

That single line is the failure. The long ~ DRIFT (transitive, informational) list in the same log is not — PR runs pass --ignore-transitive-version, and the nightly exact-match check on main refreshes those.

Where it came from. joblib stopped vendoring cloudpickle and started declaring it, per PyPI metadata:

requires_dist mentions cloudpickle
joblib==1.5.3 0 entries no
joblib==1.6.0 24 entries cloudpickle>=3.0

The chain is scikit-learn (amber/operator-requirements.txt) → joblib → cloudpickle. Nothing in this repository changed; joblib 1.6.0 was published and the unpinned transitive resolve picked it up.

Time-based, not PR-based. Open PRs built before the release are green and ones built after are red:

run created (UTC, 2026-08-31) pyamber 3.12
08:39 (#8282), 08:49 (#8286) pass
12:55 (#7703) fail

regex also moved to 2026.8.31 in that window, which dates the batch.

Collateral. The check runs only on the 3.12 matrix entry (skipped on 3.11 and 3.13), and fail-fast then cancels 3.13's Test with pytest. A run therefore shows three reds for one cause; only the 3.12 license step is real.

How to reproduce?

Any PR whose CI runs after joblib 1.6.0 hit PyPI on 2026-08-31:

pip install -r amber/requirements.txt -r amber/operator-requirements.txt
pip-licenses --format=csv --ignore-packages pip-licenses prettytable wcwidth > /tmp/pip-licenses.csv
./bin/licensing/check_binary_deps.py --ignore-transitive-version python /tmp/pip-licenses.csv

Version/Branch

1.3.0-incubating-SNAPSHOT (main)

Activity

  1. added theissue type on Aug 31, 2026
  2. aglinxinyuan commented on Aug 31, 2026

    @aglinxinyuan
    ContributorAuthor

    Duplicate of #8292, which filed the same failure first and is already fixed by #8293. Closing this one; #8292 is the tracking issue.

    Same root cause, same evidence — joblib 1.6.0 un-vendoring cloudpickle, requires_dist going from empty in 1.5.3 to 24 entries including cloudpickle>=3.0, reached via scikit-learn in amber/operator-requirements.txt.

  3. github-actions commented on Aug 31, 2026

    @github-actions
    Contributor

    👋 Thanks for opening this issue, @aglinxinyuan!

    It looks like the issue description doesn't quite follow our template yet:

    • This issue doesn't appear to use one of our templates (Bug, Feature, or Task). Please open it using a template so the required details are captured.

    Filling out the template helps reviewers understand and triage your contribution faster. Please edit the description to complete it. This message will disappear automatically once the template is followed.

    You can find the template prompts by editing the description, or see CONTRIBUTING.md for the full contribution flow.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions