diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index 18cf8c99bd5..c164066ca5e 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -12,6 +12,7 @@ permissions: contents: read jobs: + test: name: General checks and tests runs-on: ubuntu-24.04 @@ -25,7 +26,10 @@ jobs: node-version: 22.20.0 - name: Install dependencies - run: npm ci --engine-strict # --engine-strict is used to fail-fast if deps require node versions unsupported by the repo + run: npm ci + + - name: Check Node.js engine compatibility + run: npm run check-engine - name: Check package.json "engines" consistency run: | diff --git a/package-lock.json b/package-lock.json index e849d341f04..0c94af61718 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "@commitlint/cli": "^20.1.0", "@commitlint/config-conventional": "^20.0.0", "@eslint/js": "^9.8.0", + "check-engine-light": "0.4.0", "eslint": "^9.35.0", "eslint-config-google": "^0.14.0", "eslint-plugin-ava": "^15.1.0", @@ -7220,6 +7221,26 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/check-engine-light": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/check-engine-light/-/check-engine-light-0.4.0.tgz", + "integrity": "sha512-hZzy5cbJg52nDGgyiNDVpjzrIo6V49lpFVJ7hJiGpbWs9in5mtpRMqdM1VPptab2QTkwYdac98PaXSBmQqh1Tg==", + "dev": true, + "license": "ISC", + "dependencies": { + "debug": "^4.4.3", + "semver": "^7.7.3" + }, + "bin": { + "check-engine-light": "lib/cli.js" + }, + "engines": { + "node": "^20.11 || >=21.2" + }, + "funding": { + "url": "https://ko-fi.com/textbook" + } + }, "node_modules/cheerio": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", diff --git a/package.json b/package.json index eb4e2286596..064b1dd4754 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "unit": "npm run unit --workspaces --if-present", "coverage": "npm run coverage --workspaces --if-present", "knip": "knip --config knip.config.js", + "check-engine": "check-engine-light .", "check-licenses": "licensee --errors-only", "schema-generate": "npm run schema-generate --workspace=@ui5/documentation", "generate-cli-doc": "npm run generate-cli-doc --workspace=@ui5/documentation" @@ -48,7 +49,8 @@ "globals": "^17.3.0", "husky": "^9.1.7", "knip": "^5.83.0", - "licensee": "^11.1.1" + "licensee": "^11.1.1", + "check-engine-light": "0.4.0" }, "overrides": { "pacote@<=20": {