From ae1244008824f4c0c4669e704343b936d0338831 Mon Sep 17 00:00:00 2001 From: alexander-akait Date: Tue, 13 Jan 2026 05:34:00 +0300 Subject: [PATCH 1/3] ci: update --- .github/dependabot.yml | 12 ++--- .github/workflows/dependency-review.yml | 7 +-- .github/workflows/nodejs.yml | 64 ++++++++++--------------- .github/workflows/update-docs.yml | 45 +++++++++++++++++ .github/workflows/validate-pr.yml | 42 ++++++++++++++++ 5 files changed, 121 insertions(+), 49 deletions(-) create mode 100644 .github/workflows/update-docs.yml create mode 100644 .github/workflows/validate-pr.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index eeb003f7fd6..611294a2a28 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,9 +3,7 @@ updates: - package-ecosystem: npm directory: "/" schedule: - interval: daily - time: "04:00" - timezone: Europe/Berlin + interval: "weekly" open-pull-requests-limit: 20 versioning-strategy: lockfile-only labels: @@ -17,9 +15,11 @@ updates: - package-ecosystem: "github-actions" directory: "/" schedule: - interval: daily - time: "04:00" - timezone: Europe/Berlin + interval: "weekly" open-pull-requests-limit: 20 labels: - dependencies + groups: + dependencies: + patterns: + - "*" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 5a47668e87f..1c45f73f644 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -1,4 +1,4 @@ -name: "Dependency Review" +name: Review Dependencies on: [pull_request] permissions: @@ -8,7 +8,8 @@ jobs: dependency-review: runs-on: ubuntu-latest steps: - - name: "Checkout Repository" + - name: Git Checkout uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - name: "Dependency Review" + + - name: Review Dependencies uses: actions/dependency-review-action@3c4e3dcb1aa7874d2c16be7d79418e9b7efd6261 # v4.8.2 diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 65a5ec7ad66..598d0319ce6 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -1,4 +1,4 @@ -name: webpack-cli +name: CI on: push: @@ -15,7 +15,7 @@ permissions: jobs: lint: - name: Lint - ${{ matrix.os }} - Node v${{ matrix.node-version }} + name: Lint runs-on: ${{ matrix.os }} @@ -30,9 +30,10 @@ jobs: webpack-version: [latest] steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - name: Checkout code + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - name: Using Node v${{ matrix.node-version }} + - name: Setup Node.js v${{ matrix.node-version }} uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ matrix.node-version }} @@ -47,37 +48,39 @@ jobs: - name: Lint run: npm run lint - build: + test: name: Tests and Coverage - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }} (${{ matrix.shard }}) runs-on: ${{ matrix.os }} concurrency: - group: build-${{ matrix.os }}-v${{ matrix.node-version }}-${{ matrix.webpack-version }}-${{ matrix.dev-server-version }}-${{ matrix.shard }}-${{ github.ref }} + group: test-${{ matrix.os }}-v${{ matrix.node-version }}-${{ matrix.webpack-version }}-${{ matrix.dev-server-version }}-${{ github.ref }} cancel-in-progress: true strategy: + fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] node-version: [18.x, 20.x, 22.x, 24.x] - shard: ["1/4", "2/4", "3/4", "4/4"] webpack-version: [latest] dev-server-version: [latest] steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - name: Checkout code + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 - - name: Using Node v${{ matrix.node-version }} + - name: Using Node.js v${{ matrix.node-version }} uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ matrix.node-version }} cache: "npm" - - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #4.2.0 + - name: Install pnpm + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #4.2.0 with: - version: 9 + version: 10 - name: Install dependencies run: npm ci --ignore-scripts @@ -86,7 +89,7 @@ jobs: run: npm run build:ci - name: Run tests and generate coverage - run: npm run test:coverage -- --ci --shard=${{ matrix.shard }} + run: npm run test:coverage -- --ci - name: Upload coverage to Codecov uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2 @@ -95,21 +98,26 @@ jobs: verbose: true smoketests: - name: Smoketests - ${{ matrix.os }} - Node v${{ matrix.node-version }} - runs-on: ubuntu-latest + name: Smoketests + + runs-on: ${{ matrix.os }} + concurrency: group: smoketests-${{ github.ref }} cancel-in-progress: true + strategy: matrix: os: [ubuntu-latest] node-version: [lts/*] + steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + - name: Checkout code + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 - - name: Using Node v${{ matrix.node-version }} + - name: Using Node.js v${{ matrix.node-version }} uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 with: node-version: ${{ matrix.node-version }} @@ -123,27 +131,3 @@ jobs: - name: Run smoketests run: npm run test:smoketests - - commitlint: - name: Lint Commit Messages - runs-on: ubuntu-latest - concurrency: - group: commitlint-${{ github.ref }} - cancel-in-progress: true - steps: - - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - with: - fetch-depth: 0 - - - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 - with: - node-version: "lts/*" - cache: "npm" - - - run: npm ci - - - name: Validate PR commits with commitlint - if: github.event_name == 'pull_request' - run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose - env: - NODE_PATH: ${{ github.workspace }}/node_modules diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml new file mode 100644 index 00000000000..a48fbdbc91f --- /dev/null +++ b/.github/workflows/update-docs.yml @@ -0,0 +1,45 @@ +name: Update documentation + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 0" + +jobs: + update-documentation: + name: Update documentation + + runs-on: ${{ matrix.os }} + + permissions: + contents: write + pull-requests: write + + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + + - name: Using Node.js v${{ matrix.node-version }} + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Create Pull Request + uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + delete-branch: true + commit-message: | + docs: update + title: | + docs: update + body: | + Update documentation. + + This PR was autogenerated. + branch: update-docs diff --git a/.github/workflows/validate-pr.yml b/.github/workflows/validate-pr.yml new file mode 100644 index 00000000000..48999360dc7 --- /dev/null +++ b/.github/workflows/validate-pr.yml @@ -0,0 +1,42 @@ +name: Validate PR + +on: + pull_request: + +permissions: + contents: read + +jobs: + commitlint: + name: Lint Commit Messages + + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + node-version: [lts/*] + + concurrency: + group: commitlint-${{ github.ref }} + cancel-in-progress: true + + steps: + - name: Checkout code + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + + - name: Using Node.js v${{ matrix.node-version }} + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Validate PR commits with commitlint + run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose + env: + NODE_PATH: ${{ github.workspace }}/node_modules From 3bd7d50be6c8353d03c4318c2e4a1b2c3dd4ae0d Mon Sep 17 00:00:00 2001 From: alexander-akait Date: Tue, 13 Jan 2026 05:37:20 +0300 Subject: [PATCH 2/3] ci: improve title --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 598d0319ce6..f2b41d7f526 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -49,7 +49,7 @@ jobs: run: npm run lint test: - name: Tests and Coverage - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }} (${{ matrix.shard }}) + name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }} runs-on: ${{ matrix.os }} From 285872f631595cdf4e263c19a89cd8487db5a719 Mon Sep 17 00:00:00 2001 From: alexander-akait Date: Tue, 13 Jan 2026 05:42:42 +0300 Subject: [PATCH 3/3] build: avoid extra commands --- .github/workflows/nodejs.yml | 4 ++-- package.json | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index f2b41d7f526..2baca987714 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -86,7 +86,7 @@ jobs: run: npm ci --ignore-scripts - name: Prepare environment for tests - run: npm run build:ci + run: npm run build - name: Run tests and generate coverage run: npm run test:coverage -- --ci @@ -127,7 +127,7 @@ jobs: run: npm ci - name: Prepare environment for tests - run: npm run build:ci + run: npm run build - name: Run smoketests run: npm run test:smoketests diff --git a/package.json b/package.json index edf6c78156f..5c1d7b6effd 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "prebuild": "npm run clean", "prebuild:ci": "npm run clean && node ./scripts/setup-build.js", "build": "tsc --build", - "build:ci": "tsc --build", "watch": "tsc --build --watch", "lint": "npm run lint:code && npm run lint:spellcheck", "lint:code": "eslint --cache .",