build(deps): bump the theoretically-non-breaking group across 1 directory with 29 updates #1547
This file contains hidden or 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: Web Test Runner | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - release | |
| - 'spring*' | |
| - 'summer*' | |
| - 'winter*' | |
| pull_request: | |
| env: | |
| COVERAGE: '1' | |
| NODE_VERSION: '24.11.1' | |
| jobs: | |
| # We run tests in parallel to speed up CI, with an arbitrary goal of ~20 minutes per job. | |
| integration-tests: | |
| name: Integration tests (${{ matrix.shadow_mode }} shadow; ${{ matrix.env || 'default env' }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shadow_mode: [native, synthetic] | |
| env: | |
| - '' | |
| - DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 | |
| - DISABLE_STATIC_CONTENT_OPTIMIZATION=1 | |
| - ENABLE_ARIA_REFLECTION_GLOBAL_POLYFILL=1 | |
| - NODE_ENV_FOR_TEST=production | |
| - API_VERSION=58 | |
| - API_VERSION=59 | |
| - API_VERSION=60 | |
| - API_VERSION=61 | |
| - API_VERSION=62 | |
| # No need for 63-65 | |
| - API_VERSION=66 | |
| include: | |
| # Test modes for only synthetic or only native | |
| - shadow_mode: synthetic | |
| env: FORCE_NATIVE_SHADOW_MODE_FOR_TEST=1 | |
| - shadow_mode: synthetic | |
| env: DISABLE_DETACHED_REHYDRATION=1 | |
| - shadow_mode: synthetic | |
| env: DISABLE_DETACHED_REHYDRATION=1 DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 | |
| - shadow_mode: native | |
| env: DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER=1 | |
| - shadow_mode: native | |
| env: DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER=1 DISABLE_STATIC_CONTENT_OPTIMIZATION=1 | |
| env: | |
| SHADOW_MODE_OVERRIDE: ${{ matrix.shadow_mode }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'yarn' | |
| - name: Get installed playwright version | |
| id: playwright-version | |
| run: | | |
| version="$(yarn --silent --json list --depth 0 playwright 2>/dev/null | jq -r '.data.trees[0].name|split("@")[1]')" | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| - name: Restore playwright cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }} | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Install playwright dependencies | |
| run: | | |
| # Flaky and I don't know why, let's just retry 5 times | |
| for i in $(seq 1 5); do | |
| echo "Installing playwright (attempt $i)" | |
| # Timeout because sometimes it hangs forever... :\ | |
| if timeout 4m yarn playwright install chrome firefox webkit --with-deps; then | |
| success=true | |
| break | |
| fi | |
| # Wait 30-90 seconds before trying again | |
| [[ $i < 5 ]] && sleep "$((30 + 60 * $RANDOM / 32767))" | |
| done | |
| # Exit with error if all retries failed | |
| if [[ $success != true ]]; then | |
| echo 'Failed to install playwright.' | |
| exit 1 | |
| fi | |
| - name: Set env vars | |
| run: echo '${{ matrix.env }}' | tr ' ' '\n' >> "$GITHUB_ENV" | |
| - name: Sanity check env vars | |
| run: | | |
| echo "API_VERSION=$API_VERSION" | |
| echo "DISABLE_DETACHED_REHYDRATION=$DISABLE_DETACHED_REHYDRATION" | |
| echo "DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=$DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE" | |
| echo "DISABLE_STATIC_CONTENT_OPTIMIZATION=$DISABLE_STATIC_CONTENT_OPTIMIZATION" | |
| echo "DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER=$DISABLE_SYNTHETIC_SHADOW_SUPPORT_IN_COMPILER" | |
| echo "ENABLE_ARIA_REFLECTION_GLOBAL_POLYFILL=$ENABLE_ARIA_REFLECTION_GLOBAL_POLYFILL" | |
| echo "FORCE_NATIVE_SHADOW_MODE_FOR_TEST=$FORCE_NATIVE_SHADOW_MODE_FOR_TEST" | |
| echo "NODE_ENV_FOR_TEST=$NODE_ENV_FOR_TEST" | |
| - name: Run integration tests | |
| id: test-integration | |
| continue-on-error: true | |
| run: yarn test | |
| working-directory: packages/@lwc/integration-wtr | |
| timeout-minutes: 35 | |
| # Because sometimes things are flaky | |
| - name: Run integration tests (fallback) | |
| if: ${{ steps.test-integration.outcome == 'failure' }} | |
| run: yarn run test | |
| working-directory: packages/@lwc/integration-wtr | |
| timeout-minutes: 35 | |
| - name: Upload coverage report | |
| # Upload coverage even if the test step failed | |
| if: always() | |
| run: | | |
| if [ -f coverage/index.html ]; then | |
| awk '/<table/,/<\/table>/' coverage/index.html >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| hydration-tests: | |
| name: Hydration tests (${{ matrix.engine_server && 'engine-server' || 'SSR v2' }}; ${{ matrix.env || 'default env' }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| engine_server: ['', 1] | |
| env: | |
| - '' | |
| - SHADOW_MODE_OVERRIDE=synthetic | |
| - NODE_ENV_FOR_TEST=production | |
| - DISABLE_STATIC_CONTENT_OPTIMIZATION=1 | |
| include: | |
| - engine_server: 1 | |
| env: DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 | |
| - engine_server: 1 | |
| env: DISABLE_DETACHED_REHYDRATION=1 | |
| - engine_server: 1 | |
| env: DISABLE_DETACHED_REHYDRATION=1 DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=1 | |
| env: | |
| ENGINE_SERVER: ${{ matrix.engine_server }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'yarn' | |
| - name: Get installed playwright version | |
| id: playwright-version | |
| run: | | |
| version="$(yarn --silent --json list --depth 0 playwright 2>/dev/null | jq -r '.data.trees[0].name|split("@")[1]')" | |
| echo "version=$version" >> "$GITHUB_OUTPUT" | |
| - name: Restore playwright cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/ms-playwright | |
| key: ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.version }} | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Install playwright dependencies | |
| run: | | |
| # Flaky and I don't know why, let's just retry 5 times | |
| for i in $(seq 1 5); do | |
| echo "Installing playwright (attempt $i)" | |
| # Timeout because sometimes it hangs forever... :\ | |
| if timeout 4m yarn playwright install chrome firefox webkit --with-deps; then | |
| success=true | |
| break | |
| fi | |
| # Wait 30-90 seconds before trying again | |
| [[ $i < 5 ]] && sleep "$((30 + 60 * $RANDOM / 32767))" | |
| done | |
| # Exit with error if all retries failed | |
| if [[ $success != true ]]; then | |
| echo 'Failed to install playwright.' | |
| exit 1 | |
| fi | |
| - name: Set env vars | |
| run: echo '${{ matrix.env }}' | tr ' ' '\n' >> "$GITHUB_ENV" | |
| - name: Sanity check env vars | |
| run: | | |
| echo "SHADOW_MODE_OVERRIDE=$SHADOW_MODE_OVERRIDE" | |
| echo "NODE_ENV_FOR_TEST=$NODE_ENV_FOR_TEST" | |
| echo "DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE=$DISABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE" | |
| echo "DISABLE_STATIC_CONTENT_OPTIMIZATION=$DISABLE_STATIC_CONTENT_OPTIMIZATION" | |
| echo "DISABLE_DETACHED_REHYDRATION=$DISABLE_DETACHED_REHYDRATION" | |
| echo "ENGINE_SERVER=$ENGINE_SERVER" | |
| - name: Run hydration tests | |
| id: test-hydration | |
| continue-on-error: true | |
| run: yarn run test:hydration | |
| working-directory: packages/@lwc/integration-wtr | |
| timeout-minutes: 35 | |
| # Because sometimes things are flaky | |
| - name: Run hydration tests (fallback) | |
| if: ${{ steps.test-hydration.outcome == 'failure' }} | |
| run: yarn run test:hydration | |
| working-directory: packages/@lwc/integration-wtr | |
| timeout-minutes: 35 | |
| - name: Upload coverage report | |
| # Upload coverage even if the test step failed | |
| if: always() | |
| run: | | |
| if [ -f coverage/index.html ]; then | |
| awk '/<table/,/<\/table>/' coverage/index.html >> "$GITHUB_STEP_SUMMARY" | |
| fi |