Skip to content

feat: add dynamic components for @lwc/ssr-compiler #2664

feat: add dynamic components for @lwc/ssr-compiler

feat: add dynamic components for @lwc/ssr-compiler #2664

Workflow file for this run

name: Run Karma integration tests
on:
push:
branches:
- master
- release
- 'spring*'
- 'summer*'
- 'winter*'
pull_request:
branches:
- master
- release
- 'spring*'
- 'summer*'
- 'winter*'
env:
SAUCE_USERNAME: ${{secrets.SAUCE_USERNAME}}
SAUCE_ACCESS_KEY: ${{secrets.SAUCE_ACCESS_KEY}}
PUPPETEER_SKIP_DOWNLOAD: 'true' # only needed for @best/runner-local, unused here
GITHUB_RUN_ID: ${{github.run_id}}
COVERAGE: '1'
NODE_VERSION: '20.18.0'
jobs:
run-karma-tests-group-1:
runs-on: ubuntu-22.04
env:
SAUCE_TUNNEL_ID: github-action-tunnel-integration-${{github.run_id}}-group-1
defaults:
run:
working-directory: ./packages/@lwc/integration-karma
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
working-directory: ./
- uses: saucelabs/sauce-connect-action@v2
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
tunnelName: ${{ env.SAUCE_TUNNEL_ID }}
- run: yarn sauce:ci
- run: DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: LEGACY_BROWSERS=1 yarn sauce:ci
- run: FORCE_NATIVE_SHADOW_MODE_FOR_TEST=1 yarn sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 yarn sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 DISABLE_SYNTHETIC=1 yarn sauce:ci
- name: Upload coverage results
uses: actions/upload-artifact@v4
with:
name: coverage-report-group-1
path: ./packages/@lwc/integration-karma/coverage/**/coverage-final.json
run-karma-tests-group-2:
runs-on: ubuntu-22.04
env:
SAUCE_TUNNEL_ID: github-action-tunnel-integration-${{github.run_id}}-group-2
defaults:
run:
working-directory: ./packages/@lwc/integration-karma
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
working-directory: ./
- uses: saucelabs/sauce-connect-action@v2
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
tunnelName: ${{ env.SAUCE_TUNNEL_ID }}
- run: API_VERSION=58 yarn sauce:ci
- run: API_VERSION=58 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: API_VERSION=59 yarn sauce:ci
- run: API_VERSION=59 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: API_VERSION=60 yarn sauce:ci
- run: API_VERSION=60 DISABLE_SYNTHETIC=1 yarn sauce:ci
- name: Upload coverage results
uses: actions/upload-artifact@v4
with:
name: coverage-report-group-2
path: ./packages/@lwc/integration-karma/coverage/**/coverage-final.json
run-karma-tests-group-3:
runs-on: ubuntu-22.04
env:
SAUCE_TUNNEL_ID: github-action-tunnel-integration-${{github.run_id}}-group-3
defaults:
run:
working-directory: ./packages/@lwc/integration-karma
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
working-directory: ./
- uses: saucelabs/sauce-connect-action@v2
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
tunnelName: ${{ env.SAUCE_TUNNEL_ID }}
- run: API_VERSION=61 yarn sauce:ci
- run: API_VERSION=61 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: API_VERSION=62 yarn sauce:ci
- run: API_VERSION=62 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER=1 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER=1 DISABLE_SYNTHETIC=1 DISABLE_STATIC_CONTENT_OPTIMIZATION=1 yarn sauce:ci
- run: ENABLE_ARIA_REFLECTION_GLOBAL_POLYFILL=1 yarn sauce:ci
- run: ENABLE_ARIA_REFLECTION_GLOBAL_POLYFILL=1 DISABLE_SYNTHETIC=1 yarn sauce:ci
- name: Upload coverage results
uses: actions/upload-artifact@v4
with:
name: coverage-report-group-3
path: ./packages/@lwc/integration-karma/coverage/**/coverage-final.json
run-karma-tests-group-4:
runs-on: ubuntu-22.04
env:
SAUCE_TUNNEL_ID: github-action-tunnel-integration-${{github.run_id}}-group-4
defaults:
run:
working-directory: ./packages/@lwc/integration-karma
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
working-directory: ./
- uses: saucelabs/sauce-connect-action@v2
with:
username: ${{ secrets.SAUCE_USERNAME }}
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
tunnelName: ${{ env.SAUCE_TUNNEL_ID }}
- run: DISABLE_STATIC_CONTENT_OPTIMIZATION=1 yarn sauce:ci
- run: DISABLE_STATIC_CONTENT_OPTIMIZATION=1 DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: NODE_ENV_FOR_TEST=production yarn sauce:ci
- run: NODE_ENV_FOR_TEST=production DISABLE_SYNTHETIC=1 yarn sauce:ci
- run: yarn hydration:sauce:ci
- run: ENABLE_SYNTHETIC_SHADOW_IN_HYDRATION=1 yarn hydration:sauce:ci
- run: NODE_ENV_FOR_TEST=production yarn hydration:sauce:ci
- run: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 yarn hydration:sauce:ci
- run: DISABLE_STATIC_CONTENT_OPTIMIZATION=1 yarn hydration:sauce:ci
- name: Upload coverage results
uses: actions/upload-artifact@v4
with:
name: coverage-report-group-4
path: ./packages/@lwc/integration-karma/coverage/**/coverage-final.json
run-karma-tests:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: ./packages/@lwc/integration-karma
needs:
- run-karma-tests-group-1
- run-karma-tests-group-2
- run-karma-tests-group-3
- run-karma-tests-group-4
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Install dependencies
run: yarn install --frozen-lockfile
working-directory: ./
- name: Download coverage results - group 1
uses: actions/download-artifact@v4
with:
name: coverage-report-group-1
path: ./packages/@lwc/integration-karma/coverage
- name: Download coverage results - group 2
uses: actions/download-artifact@v4
with:
name: coverage-report-group-2
path: ./packages/@lwc/integration-karma/coverage
- name: Download coverage results - group 3
uses: actions/download-artifact@v4
with:
name: coverage-report-group-3
path: ./packages/@lwc/integration-karma/coverage
- name: Download coverage results - group 4
uses: actions/download-artifact@v4
with:
name: coverage-report-group-4
path: ./packages/@lwc/integration-karma/coverage
- run: yarn coverage
- name: Upload combined coverage
uses: actions/upload-artifact@v4
with:
name: coverage-report-combined
path: ./packages/@lwc/integration-karma/coverage/combined
- name: Add markdown summary
run: awk '/<table/,/<\/table>/' ./coverage/combined/index.html >> $GITHUB_STEP_SUMMARY