fix: Join class compositions for webpack JSON output #878
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: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'npm' | |
- name: npm install | |
run: npm ci | |
- name: lint | |
run: npm run lint --quiet --max-warnings=0 | |
jest-tests: | |
# This shouldn't take long, and if it does something bad has happened and it should be killed | |
timeout-minutes: 20 | |
env: | |
COVERAGE_NODE_VERSION: 18 | |
COVERAGE_OS: 'ubuntu-latest' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [ 16, 18, 20 ] | |
os: [ ubuntu-latest ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: npm ci | |
run: npm ci | |
- name: npm run parsers | |
run: npm run parsers | |
- name: npm test | |
run: npm test -- --ci --no-cache | |
env: | |
CI: true | |
# Run codecov after all builds, and only on a single environment | |
- name: Gather Coverage | |
if: matrix.os == env.COVERAGE_OS && matrix.node-version == env.COVERAGE_NODE_VERSION | |
run: npm test -- --ci --coverage | |
- name: Upload Coverage | |
uses: codecov/codecov-action@v3 | |
if: matrix.os == env.COVERAGE_OS && matrix.node-version == env.COVERAGE_NODE_VERSION | |
with: | |
files: ./coverage/coverage-final.json | |
playwright-tests: | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
cache: 'npm' | |
- name: npm update | |
run: npm i npm@latest -g | |
- name: npm ci | |
run: npm ci | |
- name: npm run parsers | |
run: npm run parsers | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps chromium | |
- name: test | |
run: npm run test:playwright | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 |