Skip to content

support node 18+, update webpack #4787

support node 18+, update webpack

support node 18+, update webpack #4787

Workflow file for this run

name: "CI"
on:
[push, pull_request]
jobs:
test:
strategy:
fail-fast: false
matrix:
node-version: ['14', '20', '22']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm install # needed while we support v14
- run: npm run lint
- run: npm run unit
- run: npm run verify-client-api-changes
env:
TZ: "Europe/Prague"
e2e:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: ['14', '20', '22']
suite: [a, b]
defaults:
run:
working-directory: e2e/client
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm install # npm ci on different version won't work
working-directory: ./
- run: npm install
working-directory: ./build-tools
- run: npm install
working-directory: ./end-to-end-testing-helpers
- run: npm install
- run: npm run build
- run: npm run specs--compile
- run: npm run start-client-server
- name: Start e2e server
run: |
docker compose pull
docker compose build
docker compose up -d
working-directory: e2e/server
# playwright start
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: playwright-report-${{ matrix.suite }}
path: e2e/client/test-results
# playwright end
# protractor start
- name: Setup Chrome
uses: browser-actions/setup-chrome@v1
id: setup-chrome
with:
chrome-version: 127.0.6533.99
install-dependencies: true
install-chromedriver: true
- name: Run Protractor
run: npx protractor-flake --parser standard --max-attempts=3 -- protractor.conf.js --suite=${{ matrix.suite }}
env:
CHROME_BIN: ${{ steps.setup-chrome.outputs.chrome-path }}
CHROMEWEBDRIVER: ${{ steps.setup-chrome.outputs.chromedriver-path }}
TRAVIS: ci
SCREENSHOTS_DIR: /tmp
- name: Upload screenshots
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: screenshots-e2e-node-${{ matrix.node-version }}-${{ matrix.suite }}
path: /tmp/*.png
# protractor end
- name: Server Logs
if: ${{ failure() }}
run: docker compose logs server
working-directory: e2e/server