[proxy] Generate the web UI license terms at release time

A hand-maintained THIRD-PARTY-LICENSES drifts whenever the UI's
dependencies change. Collect the terms from package-lock.json and the
installed node_modules instead, failing when a shipped package is missing,
mismatched or has no license file. Inter's OFL moves beside the font since
it is not an npm package.

The collection now assembles into a staging directory and renames it on
success, so a failed run no longer leaves a partial output behind.
This commit is contained in:
jnfrati
2026-09-23 15:43:36 +02:00
parent 623327eb5a
commit 8a1c979bfa
5 changed files with 180 additions and 298 deletions
+8
View File
@@ -191,6 +191,14 @@ jobs:
# requires a changelog. Generated, not committed (see .gitignore).
# chglog is a go.mod tool directive, so go.sum pins it and its deps.
run: bash release_files/rpm-changelog.sh
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: '22'
- name: Install proxy web dependencies for license collection
# proxy/collect-licenses.sh reads the UI's license terms from node_modules.
working-directory: proxy/web
run: npm ci --ignore-scripts
- name: Set up QEMU
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 #v4.1.0
- name: Set up Docker Buildx