Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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:
- "*"
7 changes: 4 additions & 3 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Dependency Review"
name: Review Dependencies
on: [pull_request]

permissions:
Expand All @@ -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
70 changes: 27 additions & 43 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: webpack-cli
name: CI

on:
push:
Expand All @@ -15,7 +15,7 @@ permissions:

jobs:
lint:
name: Lint - ${{ matrix.os }} - Node v${{ matrix.node-version }}
name: Lint

runs-on: ${{ matrix.os }}

Expand All @@ -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 }}
Expand All @@ -47,46 +48,48 @@ jobs:
- name: Lint
run: npm run lint

build:
name: Tests and Coverage - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }} (${{ matrix.shard }})
test:
name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack ${{ matrix.webpack-version }}, DevServer ${{ matrix.dev-server-version }}

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

- 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 --shard=${{ matrix.shard }}
run: npm run test:coverage -- --ci

- name: Upload coverage to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
Expand All @@ -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 }}
Expand All @@ -119,31 +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

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
45 changes: 45 additions & 0 deletions .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
@@ -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
42 changes: 42 additions & 0 deletions .github/workflows/validate-pr.yml
Original file line number Diff line number Diff line change
@@ -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
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 .",
Expand Down