|
48 | 48 | job_get_metadata:
|
49 | 49 | name: Get Metadata
|
50 | 50 | runs-on: ubuntu-latest
|
| 51 | + permissions: |
| 52 | + pull-requests: read |
51 | 53 | steps:
|
52 | 54 | - name: Check out current commit
|
53 | 55 | uses: actions/checkout@v3
|
|
64 | 66 | COMMIT_SHA=$(git rev-parse --short ${{ github.event.pull_request.head.sha || github.event.head_commit.id || env.HEAD_COMMIT }})
|
65 | 67 | echo "COMMIT_SHA=$COMMIT_SHA" >> $GITHUB_ENV
|
66 | 68 | echo "COMMIT_MESSAGE=$(git log -n 1 --pretty=format:%s $COMMIT_SHA)" >> $GITHUB_ENV
|
| 69 | +
|
| 70 | + - name: Determine changed packages |
| 71 | + |
| 72 | + id: changed |
| 73 | + with: |
| 74 | + filters: | |
| 75 | + shared: &shared |
| 76 | + - '*.{js,ts,json,yml,lock}' |
| 77 | + - 'CHANGELOG.md' |
| 78 | + - '.github/**' |
| 79 | + - 'jest/**' |
| 80 | + - 'rollup/**' |
| 81 | + - 'scripts/**' |
| 82 | + - 'packages/core/**' |
| 83 | + - 'packages/tracing/**' |
| 84 | + - 'packages/utils/**' |
| 85 | + - 'packages/types/**' |
| 86 | + - 'packages/integrations/**' |
| 87 | + browser: |
| 88 | + - *shared |
| 89 | + - 'packages/browser/**' |
| 90 | + browser_integration: |
| 91 | + - *shared |
| 92 | + - 'packages/browser/**' |
| 93 | + - 'packages/integration-tests/**' |
| 94 | + ember: |
| 95 | + - *shared |
| 96 | + - 'packages/ember/**' |
| 97 | + - 'packages/browser/**' |
| 98 | + nextjs: |
| 99 | + - *shared |
| 100 | + - 'packages/nextjs/**' |
| 101 | + - 'packages/node/**' |
| 102 | + - 'packages/react/**' |
| 103 | + - 'packages/browser/**' |
| 104 | + remix: |
| 105 | + - *shared |
| 106 | + - 'packages/remix/**' |
| 107 | + - 'packages/node/**' |
| 108 | + - 'packages/react/**' |
| 109 | + - 'packages/browser/**' |
| 110 | + node: |
| 111 | + - *shared |
| 112 | + - 'packages/node/**' |
| 113 | + - 'packages/node-integration-tests/**' |
| 114 | +
|
67 | 115 | outputs:
|
68 | 116 | commit_label: '${{ env.COMMIT_SHA }}: ${{ env.COMMIT_MESSAGE }}'
|
| 117 | + changed_nextjs: ${{ steps.changed.outputs.nextjs }} |
| 118 | + changed_ember: ${{ steps.changed.outputs.ember }} |
| 119 | + changed_remix: ${{ steps.changed.outputs.remix }} |
| 120 | + changed_node: ${{ steps.changed.outputs.node }} |
| 121 | + changed_browser: ${{ steps.changed.outputs.browser }} |
| 122 | + changed_browser_integration: ${{ steps.changed.outputs.browser_integration }} |
69 | 123 |
|
70 | 124 | job_install_deps:
|
71 | 125 | name: Install Dependencies
|
@@ -348,6 +402,7 @@ jobs:
|
348 | 402 | job_nextjs_integration_test:
|
349 | 403 | name: Test @sentry/nextjs on (Node ${{ matrix.node }})
|
350 | 404 | needs: [job_get_metadata, job_build]
|
| 405 | + if: needs.job_get_metadata.outputs.changed_nextjs == 'true' || github.event_name != 'pull_request' |
351 | 406 | continue-on-error: true
|
352 | 407 | timeout-minutes: 30
|
353 | 408 | runs-on: ubuntu-latest
|
@@ -385,6 +440,7 @@ jobs:
|
385 | 440 | job_ember_tests:
|
386 | 441 | name: Test @sentry/ember
|
387 | 442 | needs: [job_get_metadata, job_build]
|
| 443 | + if: needs.job_get_metadata.outputs.changed_ember == 'true' || github.event_name != 'pull_request' |
388 | 444 | continue-on-error: true
|
389 | 445 | timeout-minutes: 10
|
390 | 446 | runs-on: ubuntu-latest
|
@@ -426,6 +482,7 @@ jobs:
|
426 | 482 | job_browser_playwright_tests:
|
427 | 483 | name: Playwright - ${{ (matrix.tracing_only && 'Browser + Tracing') || 'Browser' }} (${{ matrix.bundle }})
|
428 | 484 | needs: [job_get_metadata, job_build]
|
| 485 | + if: needs.job_get_metadata.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request' |
429 | 486 | runs-on: ubuntu-latest
|
430 | 487 | strategy:
|
431 | 488 | matrix:
|
@@ -477,6 +534,7 @@ jobs:
|
477 | 534 | job_browser_integration_tests:
|
478 | 535 | name: Old Browser Integration Tests (${{ matrix.browser }})
|
479 | 536 | needs: [job_get_metadata, job_build]
|
| 537 | + if: needs.job_get_metadata.outputs.changed_browser == 'true' || github.event_name != 'pull_request' |
480 | 538 | runs-on: ubuntu-latest
|
481 | 539 | timeout-minutes: 10
|
482 | 540 | continue-on-error: true
|
@@ -550,6 +608,7 @@ jobs:
|
550 | 608 | job_node_integration_tests:
|
551 | 609 | name: Node SDK Integration Tests (${{ matrix.node }})
|
552 | 610 | needs: [job_get_metadata, job_build]
|
| 611 | + if: needs.job_get_metadata.outputs.changed_node == 'true' || github.event_name != 'pull_request' |
553 | 612 | runs-on: ubuntu-latest
|
554 | 613 | timeout-minutes: 10
|
555 | 614 | continue-on-error: true
|
@@ -585,6 +644,7 @@ jobs:
|
585 | 644 | job_remix_integration_tests:
|
586 | 645 | name: Remix SDK Integration Tests (${{ matrix.node }})
|
587 | 646 | needs: [job_get_metadata, job_build]
|
| 647 | + if: needs.job_get_metadata.outputs.changed_remix == 'true' || github.event_name != 'pull_request' |
588 | 648 | runs-on: ubuntu-latest
|
589 | 649 | timeout-minutes: 10
|
590 | 650 | continue-on-error: true
|
|
0 commit comments