Skip to content

Replace container-based license tool with license-tool npm package#1477

Merged
olexii4 merged 6 commits intomainfrom
CHE-23756
Apr 17, 2026
Merged

Replace container-based license tool with license-tool npm package#1477
olexii4 merged 6 commits intomainfrom
CHE-23756

Conversation

@olexii4
Copy link
Copy Markdown
Contributor

@olexii4 olexii4 commented Mar 12, 2026

What does this PR do?

Replaces the container-based dash-licenses tool (quay.io/che-incubator/dash-licenses:next) with the new license-tool Node.js library.

The che-incubator/dash-licenses repository has been transformed from a Docker-only tool into a pure Node.js library with ClearlyDefined API and Eclipse IP DB (JAR fallback) support. This PR integrates it directly as an npm dependency, eliminating the need for Docker/Podman to run license checks.

Key Changes:

  1. license-tool GitHub dependency — Added license-tool as a devDependency in packages/dashboard-frontend/package.json, pointing to "@eclipse-che/license-tool": "^2.0.0"
  2. Updated license:check script — Changed from $PWD/scripts/container_tool.sh run --rm -t -v $PWD/:/workspace/project:Z quay.io/che-incubator/dash-licenses:next --check --batch 200 to license-tool --check
  3. Updated license:generate script — Changed from container invocation to license-tool --harvest
  4. Regenerated .deps/ files — Updated prod.md, dev.md, EXCLUDED/prod.md, and EXCLUDED/dev.md with fresh license data from ClearlyDefined API and Eclipse IP DB JAR fallback

Benefits:

  • No Docker/Podman dependency required for license checks
  • Faster execution (no container startup overhead)
  • Direct Node.js integration — works with yarn license:check out of the box
  • Uses ClearlyDefined API with Eclipse dash-licenses JAR fallback for unresolved dependencies

Screenshot/screencast of this PR

N/A — infrastructure/tooling change, no UI changes.

What issues does this PR fix or reference?

It needs for eclipse-che/che#23756

Is it tested? How?

  1. Run yarn license:generate from the project root
  2. Verify all dependencies are resolved — problems.md should not be generated
  3. Run yarn license:check to verify the check mode works
  4. Verify .deps/prod.md and .deps/dev.md contain proper license tables

Release Notes

Docs PR

@olexii4 olexii4 requested a review from svor March 12, 2026 12:55
@che-bot
Copy link
Copy Markdown
Contributor

che-bot commented Mar 12, 2026

Click here to review and test in web IDE: Contribute

@olexii4 olexii4 force-pushed the CHE-23756 branch 2 times, most recently from b66900d to a70caf0 Compare March 12, 2026 13:04
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

2 similar comments
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.14%. Comparing base (fd33060) to head (33364c5).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1477   +/-   ##
=======================================
  Coverage   93.14%   93.14%           
=======================================
  Files         562      562           
  Lines       54143    54143           
  Branches     4077     4078    +1     
=======================================
  Hits        50434    50434           
  Misses       3665     3665           
  Partials       44       44           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@olexii4 olexii4 force-pushed the CHE-23756 branch 2 times, most recently from 8deb5fc to c133df1 Compare March 13, 2026 15:29
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

1 similar comment
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

Comment thread package.json Outdated
Comment thread package.json Outdated
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477 (linux/amd64, linux/arm64)

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

Copy link
Copy Markdown
Contributor

@svor svor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 16, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: akurinnoy, dkwon17, olexii4, svor

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477 (linux/amd64, linux/arm64)

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

@openshift-ci openshift-ci Bot removed the lgtm label Apr 16, 2026
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 16, 2026

New changes are detected. LGTM label has been removed.

olexii4 added 5 commits April 16, 2026 18:05
…kage

Assisted-by: Cursor
Signed-off-by: Oleksii Orel <oorel@redhat.com>
…npm package

Signed-off-by: Oleksii Orel <oorel@redhat.com>
…m package

Hermeto (the Red Hat hermetic build tool) does not support Git or Exec
dependencies for Yarn Berry. The previous reference:

  license-tool@https://github.com/che-incubator/dash-licenses.git#c09f697

caused the devspaces hermeto fetch-deps step to fail with:
  UnsupportedFeature: Found 1 unsupported dependencies

Replace the Git URL with the published npm package
@eclipse-che/license-tool@^2.0.0. The bin name (license-tool) is
unchanged so the license:check and license:generate scripts continue
to work without modification.

Note: run `yarn install` after @eclipse-che/license-tool is published
to npm to fill in the checksum in yarn.lock.

Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Opus 4.6
Signed-off-by: Oleksii Orel <oorel@redhat.com>
Assisted-by: Claude Opus 4.6
Signed-off-by: Oleksii Orel <oorel@redhat.com>
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477 (linux/amd64, linux/arm64)

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

Update .deps for @fastify/http-proxy@11.4.4, @fastify/reply-from@12.6.2,
and @webassemblyjs/helper-buffer@1.14.1 unresolved dependencies.

Assisted-by: Claude Sonnet 4.5
Signed-off-by: Oleksii Orel <oorel@redhat.com>
@github-actions
Copy link
Copy Markdown

Docker image build succeeded: quay.io/eclipse/che-dashboard:pr-1477 (linux/amd64, linux/arm64)

kubectl patch command
kubectl patch -n eclipse-che "checluster/eclipse-che" --type=json -p="[{"op": "replace", "path": "/spec/components/dashboard/deployment", "value": {containers: [{image: "quay.io/eclipse/che-dashboard:pr-1477", name: che-dashboard}]}}]"

@olexii4
Copy link
Copy Markdown
Contributor Author

olexii4 commented Apr 16, 2026

/retest

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 16, 2026

@olexii4: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/v19-dashboard-happy-path b57a0c7 link true /test v19-dashboard-happy-path

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@olexii4 olexii4 merged commit 92469b5 into main Apr 17, 2026
21 of 23 checks passed
@olexii4 olexii4 deleted the CHE-23756 branch April 17, 2026 13:05
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.

5 participants