From 36c85ab605d5360d7e35e0584fe2228ba85287e7 Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:24:59 +0100 Subject: [PATCH 1/4] ci: add license checker --- .github/workflows/check-licenses.yml | 23 +++++++++++++++++++++++ package.json | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/check-licenses.yml diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml new file mode 100644 index 0000000..ba18246 --- /dev/null +++ b/.github/workflows/check-licenses.yml @@ -0,0 +1,23 @@ +name: Check Licenses +on: + push: + branches: ["main"] + pull_request: + branches: ["*"] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + check_licenses: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Check Licenses + run: jlpm check-licenses + diff --git a/package.json b/package.json index 6fa49d5..208b195 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "build:labextension:dev": "jupyter labextension build --development True .", "build:lib": "tsc --sourceMap", "build:lib:prod": "tsc", + "check-licenses": "license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Python-2.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;(MIT OR Apache-2.0);(MIT AND BSD-3-Clause);(Apache-2.0 OR MIT);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT OR CC0-1.0);(MIT AND CC-BY-3.0);(Unlicense OR Apache-2.0)'", "clean": "jlpm clean:lib", "clean:lib": "rimraf lib tsconfig.tsbuildinfo", "clean:lintcache": "rimraf .eslintcache .stylelintcache", @@ -78,6 +79,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^5.0.0", "jest": "^29.2.0", + "license-checker-rseidelsohn": "^4.4.2", "mkdirp": "^1.0.3", "npm-run-all2": "^7.0.1", "prettier": "^3.0.0", @@ -208,5 +210,6 @@ "selector-no-vendor-prefix": null, "value-no-vendor-prefix": null } - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } From 95e3453e1ea3126cc7d0f77490e7663aebe27878 Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:28:29 +0100 Subject: [PATCH 2/4] ci: add license checker but use yarn --- .github/workflows/check-licenses.yml | 2 +- package.json | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml index ba18246..69641fb 100644 --- a/.github/workflows/check-licenses.yml +++ b/.github/workflows/check-licenses.yml @@ -19,5 +19,5 @@ jobs: uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Check Licenses - run: jlpm check-licenses + run: yarn check-licenses diff --git a/package.json b/package.json index 208b195..84fee73 100644 --- a/package.json +++ b/package.json @@ -210,6 +210,5 @@ "selector-no-vendor-prefix": null, "value-no-vendor-prefix": null } - }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" + } } From b2d88195dc380c081610022e0a6b2536448d5054 Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:30:48 +0100 Subject: [PATCH 3/4] ci: npx the script --- .github/workflows/check-licenses.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml index 69641fb..0cdb437 100644 --- a/.github/workflows/check-licenses.yml +++ b/.github/workflows/check-licenses.yml @@ -11,6 +11,7 @@ concurrency: jobs: check_licenses: + name: Check Licenses runs-on: ubuntu-latest steps: - name: Checkout @@ -19,5 +20,5 @@ jobs: uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Check Licenses - run: yarn check-licenses + run: npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Python-2.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;(MIT OR Apache-2.0);(MIT AND BSD-3-Clause);(Apache-2.0 OR MIT);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT OR CC0-1.0);(MIT AND CC-BY-3.0);(Unlicense OR Apache-2.0)' From 1f36a38fe2cee2a0205759b4ed55ebc9ab031339 Mon Sep 17 00:00:00 2001 From: James Hobbs Date: Thu, 2 Oct 2025 18:40:17 +0100 Subject: [PATCH 4/4] chore: tidy up --- .github/workflows/check-licenses.yml | 2 +- package.json | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-licenses.yml b/.github/workflows/check-licenses.yml index 0cdb437..2db3f0e 100644 --- a/.github/workflows/check-licenses.yml +++ b/.github/workflows/check-licenses.yml @@ -20,5 +20,5 @@ jobs: uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Check Licenses - run: npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Python-2.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;(MIT OR Apache-2.0);(MIT AND BSD-3-Clause);(Apache-2.0 OR MIT);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT OR CC0-1.0);(MIT AND CC-BY-3.0);(Unlicense OR Apache-2.0)' + run: yarn check-licenses diff --git a/package.json b/package.json index 84fee73..964568c 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "build:labextension:dev": "jupyter labextension build --development True .", "build:lib": "tsc --sourceMap", "build:lib:prod": "tsc", - "check-licenses": "license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Python-2.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;(MIT OR Apache-2.0);(MIT AND BSD-3-Clause);(Apache-2.0 OR MIT);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT OR CC0-1.0);(MIT AND CC-BY-3.0);(Unlicense OR Apache-2.0)'", + "check-licenses": "npx license-checker-rseidelsohn --onlyAllow 'MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;0BSD;CC0-1.0;Python-2.0;CC-BY-3.0;CC-BY-4.0;Unlicense;BlueOak-1.0.0;(MIT OR Apache-2.0);(MIT AND BSD-3-Clause);(Apache-2.0 OR MIT);(BSD-2-Clause OR MIT OR Apache-2.0);(MIT OR CC0-1.0);(MIT AND CC-BY-3.0);(Unlicense OR Apache-2.0)'", "clean": "jlpm clean:lib", "clean:lib": "rimraf lib tsconfig.tsbuildinfo", "clean:lintcache": "rimraf .eslintcache .stylelintcache", @@ -79,7 +79,6 @@ "eslint-config-prettier": "^8.8.0", "eslint-plugin-prettier": "^5.0.0", "jest": "^29.2.0", - "license-checker-rseidelsohn": "^4.4.2", "mkdirp": "^1.0.3", "npm-run-all2": "^7.0.1", "prettier": "^3.0.0",