feat: accessibility improvements #7037
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Development | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
- develop | |
pull_request: | |
types: [opened, synchronize] | |
paths-ignore: | |
- '**.md' | |
- 'docs/**' | |
env: | |
NODE_VERSION: 18.16.0 | |
ICM_BASE_URL: https://review.icm.intershop.de | |
jobs: | |
CancelPrevious: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Old Pipeline | |
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master' && github.ref != 'refs/heads/develop'" | |
uses: rokroskar/workflow-run-cleanup-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
Quality: | |
needs: [CancelPrevious] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Install root dependencies | |
run: npm ci | |
# disable CI mode so lazy components are linted | |
env: | |
CI: false | |
- name: Install e2e dependencies | |
run: cd e2e && npm i | |
- name: Code Formatting | |
run: npm exec npm-run-all format check-no-changes | |
- name: .dockerignore Sync | |
run: npm exec npm-run-all update-dockerignore check-no-changes | |
- name: Clean Localizations | |
run: npm exec npm-run-all clean-localizations check-no-changes | |
- name: Compile Angular | |
run: npm run build client | |
env: | |
NODE_OPTIONS: --max_old_space_size=8192 | |
- name: Compile Unit Tests | |
run: npm run compile | |
- name: Compile Cypress Tests | |
run: cd e2e && npm run build | |
- name: Run Escalated ESLint Rules | |
run: npm run lint-hard | |
- name: Check File Synchronization Status | |
run: npm run check-file-synchronization | |
Jest: | |
needs: [CancelPrevious] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Install root dependencies | |
run: npm ci | |
- name: PWA Jest | |
run: npm test | |
- name: eslint-rules Jest | |
run: npm run test:eslint-rules | |
- name: schematics Jest | |
run: npm run test:schematics | |
env: | |
CI: false | |
DeadCode: | |
needs: [Quality, Jest] | |
runs-on: ubuntu-latest | |
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/master' && github.ref != 'refs/heads/develop'" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Install root dependencies | |
run: npm ci | |
- name: Find Dead Code | |
run: npm run dead-code | |
- name: Find Unused TestBed declarations | |
run: npm exec npm-run-all "cleanup-testbed --related origin/develop" check-no-changes | |
Schematics: | |
needs: [Quality, Jest] | |
runs-on: ubuntu-latest | |
env: | |
CI: false | |
strategy: | |
fail-fast: false | |
matrix: | |
test: ['normal', 'customization'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: npm | |
- name: Install root dependencies | |
run: npm ci | |
- name: Test Schematics | |
run: | | |
bash e2e/test-schematics-${{ matrix.test }}.sh | |
npm run lint-hard | |
ProductionPWA: | |
needs: [Quality, Jest] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Production Build PWA Image | |
run: docker compose build pwa | |
Nginx: | |
needs: [Quality, Jest] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build Nginx Image | |
run: docker compose build nginx |