Skip to content

ci: allowlist typing-extensions in dependency-review#23

Merged
igorlg merged 1 commit into
mainfrom
fix/dep-review-typing-extensions
May 22, 2026
Merged

ci: allowlist typing-extensions in dependency-review#23
igorlg merged 1 commit into
mainfrom
fix/dep-review-typing-extensions

Conversation

@igorlg

@igorlg igorlg commented May 22, 2026

Copy link
Copy Markdown
Owner

Pre-emptive fix, copied from the sibling
cfn-lint-cfn-handler
where it surfaced on the first PR's dependency-review run.

Why

typing-extensions@4.15.0 declares a compound SPDX expression
Python-2.0 AND GPL-1.0-or-later AND Python-2.0 AND BSD-3-Clause AND Python-2.0 AND BSD-3-Clause AND 0BSD derived from historic CNRI
Python license metadata. Its actual License-Expression header is
PSF-2.0. The GPL fragment is a metadata artefact, not a real
licensing claim — typing-extensions is PSF-licensed and fully
Apache-2.0-compatible.

dependency-review-action evaluates AND expressions strictly:
every component license must be in the allowlist. Adding
GPL-1.0-or-later to the allowlist would be wrong (real GPL deps
would slip through); allowlisting this specific package via PURL is
the correct narrow fix.

When it would surface here

typing-extensions is a transitive of pydantic via
aws-sam-translator via cfn-lint. Today's CI passes only because
the dependency-review action evaluates the delta between PR base
and head; on existing PRs the package is already on main so it's
not flagged. Any future PR that touches the lockfile in a way that
re-introduces typing-extensions (e.g. a major bump that drops then
re-adds it transitively, or an uv lock --upgrade rebuild) would
hit this.

What

Single-line addition: allow-dependencies-licenses: 'pkg:pypi/typing-extensions'.

Pre-emptive fix. typing-extensions@4.15.0 (transitive of pydantic via
aws-sam-translator) declares a compound SPDX expression
`Python-2.0 AND GPL-1.0-or-later AND ...` derived from historic CNRI
Python license metadata. The package's actual License-Expression
header is `PSF-2.0`; the GPL fragment is a metadata artefact, not a
real licensing claim. The package is PSF-licensed and fully
Apache-2.0-compatible.

dependency-review evaluates AND expressions strictly: every component
license must be in the allowlist. Adding GPL-1.0-or-later to the
allowlist would be wrong (real GPL deps would slip through);
allowlisting this specific package via PURL is the correct narrow fix.

Caught in the sibling cfn-lint-cfn-handler repo when its bootstrap PR
hit this on its first dependency-review run; same fix landed there as
its first PR (igorlg/cfn-lint-cfn-handler PR #1, follow-up commit).
@igorlg igorlg merged commit 40047f9 into main May 22, 2026
16 checks passed
@igorlg igorlg deleted the fix/dep-review-typing-extensions branch May 22, 2026 05:43
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