Skip to content

Commit

Permalink
Merge branch 'develop' into kevinliu/feat/enable-loaf-by-default
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinL10 authored Aug 8, 2024
2 parents 59dba97 + 21830b1 commit 564d927
Show file tree
Hide file tree
Showing 46 changed files with 1,579 additions and 367 deletions.
3 changes: 3 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ targets:
- name: npm
id: '@sentry/remix'
includeNames: /^sentry-remix-\d.*\.tgz$/
- name: npm
id: '@sentry/solidstart'
includeNames: /^sentry-solidstart-\d.*\.tgz$/
- name: npm
id: '@sentry/sveltekit'
includeNames: /^sentry-sveltekit-\d.*\.tgz$/
Expand Down
7 changes: 6 additions & 1 deletion .github/actions/install-playwright/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: "Install Playwright dependencies"
description: "Installs Playwright dependencies and caches them."
inputs:
browsers:
description: 'What browsers to install.'
default: 'chromium webkit firefox'

runs:
using: "composite"
Expand All @@ -17,12 +21,13 @@ runs:
~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}

# We always install all browsers, if uncached
- name: Install Playwright dependencies (uncached)
run: npx playwright install chromium webkit firefox --with-deps
if: steps.playwright-cache.outputs.cache-hit != 'true'
shell: bash

- name: Install Playwright system dependencies only (cached)
run: npx playwright install-deps chromium webkit firefox
run: npx playwright install-deps ${{ inputs.browsers || 'chromium webkit firefox' }}
if: steps.playwright-cache.outputs.cache-hit == 'true'
shell: bash
49 changes: 32 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ jobs:
run: yarn lerna run test --scope @sentry/profiling-node

job_browser_playwright_tests:
name: Playwright (${{ matrix.bundle }}${{ matrix.shard && format(' {0}/{1}', matrix.shard, matrix.shards) || ''}}) Tests
name: Playwright ${{ matrix.bundle }}${{ matrix.project && matrix.project != 'chromium' && format(' {0}', matrix.project) || ''}}${{ matrix.shard && format(' ({0}/{1})', matrix.shard, matrix.shards) || ''}} Tests
needs: [job_get_metadata, job_build]
if: needs.job_build.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04-large-js
Expand All @@ -548,31 +548,30 @@ jobs:
project:
- chromium
include:
# Only check all projects for esm & full bundle
# Only check all projects for full bundle
# We also shard the tests as they take the longest
- bundle: bundle_tracing_replay_feedback_min
project: ''
shard: 1
shards: 2
project: 'webkit'
- bundle: bundle_tracing_replay_feedback_min
project: ''
shard: 2
shards: 2
project: 'firefox'
- bundle: esm
project: ''
project: chromium
shard: 1
shards: 3
shards: 4
- bundle: esm
project: chromium
shard: 2
shards: 3
shards: 4
- bundle: esm
project: ''
project: chromium
shard: 3
shards: 3
shards: 4
- bundle: esm
project: chromium
shard: 4
shards: 4
exclude:
# Do not run the default chromium-only tests
- bundle: bundle_tracing_replay_feedback_min
project: 'chromium'
# Do not run the un-sharded esm tests
- bundle: esm
project: 'chromium'

Expand All @@ -592,12 +591,15 @@ jobs:

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: ${{ matrix.project }}

- name: Run Playwright tests
env:
PW_BUNDLE: ${{ matrix.bundle }}
working-directory: dev-packages/browser-integration-tests
run: yarn test:ci${{ matrix.project && format(' --project={0}', matrix.project) || '' }}${{ matrix.shard && format(' --shard={0}/{1}', matrix.shard, matrix.shards) || '' }}

- name: Upload Playwright Traces
uses: actions/upload-artifact@v3
if: always()
Expand All @@ -606,7 +608,7 @@ jobs:
path: dev-packages/browser-integration-tests/test-results

job_browser_loader_tests:
name: Playwright Loader (${{ matrix.bundle }}) Tests
name: PW ${{ matrix.bundle }} Tests
needs: [job_get_metadata, job_build]
if: needs.job_build.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -639,6 +641,8 @@ jobs:

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Run Playwright Loader tests
env:
Expand Down Expand Up @@ -750,8 +754,12 @@ jobs:
uses: ./.github/actions/restore-cache
env:
DEPENDENCY_CACHE_KEY: ${{ needs.job_build.outputs.dependency_cache_key }}

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Run integration tests
env:
NODE_VERSION: ${{ matrix.node }}
Expand Down Expand Up @@ -878,6 +886,7 @@ jobs:
'react-router-5',
'react-router-6',
'solid',
'solidstart',
'svelte-5',
'sveltekit',
'sveltekit-2',
Expand Down Expand Up @@ -952,6 +961,8 @@ jobs:

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Get node version
id: versions
Expand Down Expand Up @@ -1049,6 +1060,8 @@ jobs:

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Get node version
id: versions
Expand Down Expand Up @@ -1149,6 +1162,8 @@ jobs:

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Get node version
id: versions
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/flaky-test-detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ jobs:
CHANGED_TEST_PATHS: ${{ steps.changed.outputs.browser_integration_files }}
TEST_RUN_COUNT: 'AUTO'

- name: Artifacts upload
- name: Upload Playwright Traces
uses: actions/upload-artifact@v4
if: failure() && steps.test.outcome == 'failure'
with:
name: playwright-test-results
path: test-results
path: dev-packages/browser-integration-tests/test-results
retention-days: 5
2 changes: 1 addition & 1 deletion .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module.exports = [
path: 'packages/browser/build/npm/esm/index.js',
import: createImport('init', 'browserTracingIntegration', 'replayIntegration'),
gzip: true,
limit: '72 KB',
limit: '73 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay) - with treeshaking flags',
Expand Down
Loading

0 comments on commit 564d927

Please sign in to comment.