Adds license check for docker containers#6210
Conversation
Greptile SummaryThis PR replaces the old bash/jq-based license workflow with a new Python tool (
Confidence Score: 3/5The CI and Python tool changes are solid, but The docker/Dockerfile.base and docker/Dockerfile.curobo — specifically the removal of Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant CI as GitHub Actions Runner
participant ECR as ECR (Docker Registry)
participant Container as Docker Container
participant Artifact as Artifact Store
CI->>ECR: ecr-build-push-pull (build or cache hit)
ECR-->>CI: docker pull + tag (cache-hit path)
CI->>CI: Verify image available locally
CI->>Container: docker create (entrypoint bash)
CI->>Container: docker start -a
Note over Container: capture base-apt-manual.txt<br/>collect pip license JSON<br/>run dpkg-query
Container-->>CI: exit (0 or non-zero)
CI->>CI: docker cp /tmp/license-reports to license-reports/
CI->>CI: docker rm container
CI->>Container: docker run check_dependency_licenses.py pip
Container-->>CI: pass / fail
CI->>Container: docker run check_dependency_licenses.py apt
Container-->>CI: pass / fail
CI->>Artifact: upload-artifact (license-reports/, if: always())
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant CI as GitHub Actions Runner
participant ECR as ECR (Docker Registry)
participant Container as Docker Container
participant Artifact as Artifact Store
CI->>ECR: ecr-build-push-pull (build or cache hit)
ECR-->>CI: docker pull + tag (cache-hit path)
CI->>CI: Verify image available locally
CI->>Container: docker create (entrypoint bash)
CI->>Container: docker start -a
Note over Container: capture base-apt-manual.txt<br/>collect pip license JSON<br/>run dpkg-query
Container-->>CI: exit (0 or non-zero)
CI->>CI: docker cp /tmp/license-reports to license-reports/
CI->>CI: docker rm container
CI->>Container: docker run check_dependency_licenses.py pip
Container-->>CI: pass / fail
CI->>Container: docker run check_dependency_licenses.py apt
Container-->>CI: pass / fail
CI->>Artifact: upload-artifact (license-reports/, if: always())
|
| RUN if [ "$(dpkg --print-architecture)" = "arm64" ]; then \ | ||
| apt-get update && \ | ||
| apt-get install -y --no-install-recommends \ | ||
| libgl1-mesa-dev libopengl-dev libglx-dev \ | ||
| libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev \ | ||
| libgmp-dev \ | ||
| swig; \ | ||
| libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev; \ | ||
| fi |
There was a problem hiding this comment.
libgmp-dev silently dropped from arm64 build deps
The original file carried an explicit comment: libgmp-dev is required by pytetwild's fTetWild source build (no aarch64 wheel for 0.2.3). This PR removes libgmp-dev from the always-installed arm64 block but adds no temporary install/purge step for it (the pattern used for swig in the nlopt block). pytetwild is still present in license-exceptions.json, so it is still expected to be installed; if an aarch64 wheel is still unavailable at the pinned version, isaaclab.sh --install will fail on arm64 when pytetwild's CMake build can't find GMP headers. The same gap exists in Dockerfile.curobo.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there