apache / apache/texera

Binary license manifests lack CI enforcement

Open
#4,450 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
314
Forks
187
Avg merge
1d 21h
Merged PRs (30d)
214

Description

### What happened?

Nothing in CI catches drift between `LICENSE-binary` / `NOTICE-binary` and the actually-bundled dependencies. A contributor can add a dep in `build.sbt`, `frontend/package.json`, or `amber/requirements.txt` without the manifests being updated to match.

### How to reproduce?

1. Add a new JVM dependency in any `build.sbt`.
2. Run `sbt dist`.
3. The new jar appears in the dist's `lib/` but is not mentioned in `LICENSE-binary`; no CI job flags it.

### Version

1.1.0-incubating (Pre-release/Master)

### Commit Hash (Optional)

ef663648d

### Proposed fix

Add a CI workflow that, for each ecosystem (JVM jars, npm, Python), enumerates the actually-bundled deps at build time and diffs them against the bullets in `LICENSE-binary`. Fail on drift with ADDED / STALE classification.

### Was this authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.7)

Contributor guide

Open the contributing guide

Research direction

Start with LICENSE-binary and NOTICE-binary, then inspect build.sbt, frontend/package.json, and amber/requirements.txt alongside the existing sbt dist process. Determine how each ecosystem's actually bundled dependencies can be enumerated and compared with the manifest bullets. Done means CI reports ADDED and STALE entries and fails when the manifests drift.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python, scala
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.