support node 18+, update webpack #4782
Workflow file for this run
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: "CI" | |
on: | |
[push, pull_request] | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
node-version: ['14', '18', '20'] | |
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', '18', '20'] | |
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 |