Skip to content

build(deps): bump i18next from 26.0.3 to 26.0.4 #6905

build(deps): bump i18next from 26.0.3 to 26.0.4

build(deps): bump i18next from 26.0.3 to 26.0.4 #6905

Workflow file for this run

name: CI
on:
push:
workflow_dispatch:
# Limit the permissions of the GITHUB_TOKEN
permissions:
contents: read
jobs:
# Setup job: Install dependencies and cache them for parallel jobs
setup:
runs-on: ubuntu-latest
outputs:
cache-key: ${{ steps.cache-key.outputs.key }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Generate cache key
id: cache-key
run: echo "key=node-modules-${{ hashFiles('package-lock.json') }}" >> $GITHUB_OUTPUT
- name: Cache node_modules
id: cache-node-modules
uses: actions/cache@v5
with:
path: node_modules
key: ${{ steps.cache-key.outputs.key }}
- name: Install dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
run: npm ci
# Build job: Build the project and cache artifacts
build:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Cache build artifacts
id: cache-build
uses: actions/cache@v5
with:
path: dist
key: build-${{ github.sha }}
- name: Generate i18n translations
if: steps.cache-build.outputs.cache-hit != 'true'
run: npm run i18n:generate
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: npx vite build
# Lint job: Run ESLint (parallel with other checks)
lint:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Lint
run: npm run lint:check
# Format job: Run Prettier check (parallel with other checks)
format:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Format check
run: npm run format:check
# TypeScript job: Run type checking (parallel with other checks)
typecheck:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: TypeScript check
run: npm run tsc
# Endpoint inventory job: Verify derived inventory is up to date (parallel with other checks)
endpoints:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Verify endpoint inventory
run: npm run endpoints:verify
# Test job: Run tests with coverage (parallel with other checks)
test:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Test with coverage
run: npm run test:ci
# E2E job: Run Playwright e2e tests (parallel with other checks)
e2e:
needs: setup
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@v5
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
playwright-${{ runner.os }}-
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps chromium
- name: Install Playwright system dependencies only
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps chromium
- name: Initialize MSW
run: npx msw init e2e/public --save=false
- name: Run e2e tests
run: npm run test:e2e
- name: Upload test results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v6
with:
name: playwright-report
path: playwright-report/
retention-days: 7
# E2E Demo job: Run Playwright e2e tests against the live demo environment
e2e-demo:
needs: setup
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Restore node_modules cache
uses: actions/cache/restore@v5
with:
path: node_modules
key: ${{ needs.setup.outputs.cache-key }}
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@v5
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
playwright-${{ runner.os }}-
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps chromium
- name: Install Playwright system dependencies only
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps chromium
- name: Run e2e tests against demo environment
run: npm run test:e2e:demo
- name: Upload demo test results
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v6
with:
name: playwright-report-demo
path: playwright-report/
retention-days: 7