port the third-party license generator from embedded Python to madtea-dev #625

Open
opened 2026-09-24 18:35:55 +00:00 by hexajon · 0 comments
Owner

What

scripts/gen-third-party-licenses.sh embeds a Python program (python3 - <<'PY') that lists the Go modules, looks up each license, and renders THIRD-PARTY-LICENSES.md. The gate runs it on every run (third-party-licenses), so the gate and CI need python3 only for this. madtea is a Go project; this tooling belongs in Go.

Fix

  • A madtea-dev subcommand generates THIRD-PARTY-LICENSES.md, and with --check fails when the committed file is out of date, with the same output as today.
  • It keeps the VENDORED check: a tracked LICENSE, LICENCE, or COPYING file outside the repo root in a directory that VENDORED does not declare fails the check.
  • The gate calls the subcommand. scripts/gen-third-party-licenses.sh is removed.
  • The ci.yml "install system deps" step no longer installs python3, and docs/contributing/ci.md no longer lists it.

Acceptance

  • The subcommand's output is byte-identical to the current THIRD-PARTY-LICENSES.md.
  • --check fails on a stale file and on an undeclared vendored license, with tests for both.
  • No Python remains in the gate or in CI, and the gate is green.
## What `scripts/gen-third-party-licenses.sh` embeds a Python program (`python3 - <<'PY'`) that lists the Go modules, looks up each license, and renders `THIRD-PARTY-LICENSES.md`. The gate runs it on every run (`third-party-licenses`), so the gate and CI need `python3` only for this. madtea is a Go project; this tooling belongs in Go. ## Fix - A `madtea-dev` subcommand generates `THIRD-PARTY-LICENSES.md`, and with `--check` fails when the committed file is out of date, with the same output as today. - It keeps the VENDORED check: a tracked LICENSE, LICENCE, or COPYING file outside the repo root in a directory that VENDORED does not declare fails the check. - The gate calls the subcommand. `scripts/gen-third-party-licenses.sh` is removed. - The `ci.yml` "install system deps" step no longer installs `python3`, and `docs/contributing/ci.md` no longer lists it. ## Acceptance - The subcommand's output is byte-identical to the current `THIRD-PARTY-LICENSES.md`. - `--check` fails on a stale file and on an undeclared vendored license, with tests for both. - No Python remains in the gate or in CI, and the gate is green.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
Reference
sixfold-space/madtea#625
No description provided.