|
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