6767jobs :
6868 job_get_metadata :
6969 name : Get Metadata
70- runs-on : ubuntu-20 .04
70+ runs-on : ubuntu-24 .04
7171 permissions :
7272 pull-requests : read
7373 steps :
@@ -99,15 +99,15 @@ jobs:
9999 any_code:
100100 - '!**/*.md'
101101
102-
103102 - name : Get PR labels
104103 id : pr-labels
105104 uses : mydea/pr-labels-action@fn/bump-node20
106105
107106 outputs :
108107 commit_label : ' ${{ env.COMMIT_SHA }}: ${{ env.COMMIT_MESSAGE }}'
109108 # Note: These next three have to be checked as strings ('true'/'false')!
110- is_base_branch : ${{ github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/v9' || github.ref == 'refs/heads/v8'}}
109+ is_base_branch :
110+ ${{ github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/v9' || github.ref == 'refs/heads/v8'}}
111111 is_release : ${{ startsWith(github.ref, 'refs/heads/release/') }}
112112 changed_ci : ${{ steps.changed.outputs.workflow == 'true' }}
113113 changed_any_code : ${{ steps.changed.outputs.any_code == 'true' }}
@@ -123,7 +123,7 @@ jobs:
123123 job_build :
124124 name : Build
125125 needs : job_get_metadata
126- runs-on : ubuntu-20 .04
126+ runs-on : ubuntu-24 .04
127127 timeout-minutes : 15
128128 if : |
129129 needs.job_get_metadata.outputs.changed_any_code == 'true' ||
@@ -172,7 +172,8 @@ jobs:
172172 key : nx-Linux-${{ github.ref }}-${{ env.HEAD_COMMIT || github.sha }}
173173 # On develop branch, we want to _store_ the cache (so it can be used by other branches), but never _restore_ from it
174174 restore-keys :
175- ${{needs.job_get_metadata.outputs.is_base_branch == 'false' && env.NX_CACHE_RESTORE_KEYS || 'nx-never-restore'}}
175+ ${{needs.job_get_metadata.outputs.is_base_branch == 'false' && env.NX_CACHE_RESTORE_KEYS ||
176+ ' nx-never-restore' }}
176177
177178 - name : Build packages
178179 # Set the CODECOV_TOKEN for Bundle Analysis
@@ -191,17 +192,29 @@ jobs:
191192
192193 outputs :
193194 dependency_cache_key : ${{ steps.install_dependencies.outputs.cache_key }}
194- changed_node_integration : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry-internal/node-integration-tests') }}
195- changed_remix : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry/remix') }}
196- changed_node : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry/node') }}
197- changed_deno : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry/deno') }}
198- changed_bun : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry/bun') }}
199- changed_browser_integration : ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected, '@sentry-internal/browser-integration-tests') }}
195+ changed_node_integration :
196+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
197+ ' @sentry-internal/node-integration-tests' ) }}
198+ changed_remix :
199+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
200+ ' @sentry/remix' ) }}
201+ changed_node :
202+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
203+ ' @sentry/node' ) }}
204+ changed_deno :
205+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
206+ ' @sentry/deno' ) }}
207+ changed_bun :
208+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
209+ ' @sentry/bun' ) }}
210+ changed_browser_integration :
211+ ${{ needs.job_get_metadata.outputs.changed_ci == 'true' || contains(steps.checkForAffected.outputs.affected,
212+ ' @sentry-internal/browser-integration-tests' ) }}
200213
201214 job_check_branches :
202215 name : Check PR branches
203216 needs : job_get_metadata
204- runs-on : ubuntu-20 .04
217+ runs-on : ubuntu-24 .04
205218 if : github.event_name == 'pull_request'
206219 permissions :
207220 pull-requests : write
@@ -217,7 +230,7 @@ jobs:
217230 name : Size Check
218231 needs : [job_get_metadata, job_build]
219232 timeout-minutes : 15
220- runs-on : ubuntu-20 .04
233+ runs-on : ubuntu-24 .04
221234 if :
222235 github.event_name == 'pull_request' || needs.job_get_metadata.outputs.is_base_branch == 'true' ||
223236 needs.job_get_metadata.outputs.is_release == 'true'
@@ -247,7 +260,7 @@ jobs:
247260 # inter-package dependencies resolve cleanly.
248261 needs : [job_get_metadata, job_build]
249262 timeout-minutes : 10
250- runs-on : ubuntu-20 .04
263+ runs-on : ubuntu-24 .04
251264 steps :
252265 - name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
253266 uses : actions/checkout@v4
@@ -270,7 +283,7 @@ jobs:
270283 name : Check file formatting
271284 needs : [job_get_metadata]
272285 timeout-minutes : 10
273- runs-on : ubuntu-20 .04
286+ runs-on : ubuntu-24 .04
274287 steps :
275288 - name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
276289 uses : actions/checkout@v4
@@ -293,7 +306,7 @@ jobs:
293306 name : Circular Dependency Check
294307 needs : [job_get_metadata, job_build]
295308 timeout-minutes : 10
296- runs-on : ubuntu-20 .04
309+ runs-on : ubuntu-24 .04
297310 steps :
298311 - name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
299312 uses : actions/checkout@v4
@@ -313,7 +326,7 @@ jobs:
313326 job_artifacts :
314327 name : Upload Artifacts
315328 needs : [job_get_metadata, job_build]
316- runs-on : ubuntu-20 .04
329+ runs-on : ubuntu-24 .04
317330 # Build artifacts are only needed for releasing workflow.
318331 if : needs.job_get_metadata.outputs.is_release == 'true'
319332 steps :
@@ -350,7 +363,7 @@ jobs:
350363 name : Browser Unit Tests
351364 needs : [job_get_metadata, job_build]
352365 timeout-minutes : 10
353- runs-on : ubuntu-20 .04
366+ runs-on : ubuntu-24 .04
354367 steps :
355368 - name : Check out base commit (${{ github.event.pull_request.base.sha }})
356369 uses : actions/checkout@v4
@@ -397,7 +410,7 @@ jobs:
397410 needs : [job_get_metadata, job_build]
398411 if : needs.job_build.outputs.changed_bun == 'true' || github.event_name != 'pull_request'
399412 timeout-minutes : 10
400- runs-on : ubuntu-20 .04
413+ runs-on : ubuntu-24 .04
401414 strategy :
402415 fail-fast : false
403416 steps :
@@ -424,7 +437,7 @@ jobs:
424437 needs : [job_get_metadata, job_build]
425438 if : needs.job_build.outputs.changed_deno == 'true' || github.event_name != 'pull_request'
426439 timeout-minutes : 10
427- runs-on : ubuntu-20 .04
440+ runs-on : ubuntu-24 .04
428441 strategy :
429442 fail-fast : false
430443 steps :
@@ -454,7 +467,7 @@ jobs:
454467 name : Node (${{ matrix.node }}) Unit Tests
455468 needs : [job_get_metadata, job_build]
456469 timeout-minutes : 10
457- runs-on : ubuntu-20 .04
470+ runs-on : ubuntu-24 .04
458471 strategy :
459472 fail-fast : false
460473 matrix :
@@ -504,10 +517,12 @@ jobs:
504517 token : ${{ secrets.CODECOV_TOKEN }}
505518
506519 job_browser_playwright_tests :
507- name : Playwright ${{ matrix.bundle }}${{ matrix.project && matrix.project != 'chromium' && format(' {0}', matrix.project) || ''}}${{ matrix.shard && format(' ({0}/{1})', matrix.shard, matrix.shards) || ''}} Tests
520+ name :
521+ Playwright ${{ matrix.bundle }}${{ matrix.project && matrix.project != 'chromium' && format(' {0}',
522+ matrix.project) || ''}}${{ matrix.shard && format(' ({0}/{1})', matrix.shard, matrix.shards) || ''}} Tests
508523 needs : [job_get_metadata, job_build]
509524 if : needs.job_build.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
510- runs-on : ubuntu-20 .04-large-js
525+ runs-on : ubuntu-24 .04-large-js
511526 timeout-minutes : 25
512527 strategy :
513528 fail-fast : false
@@ -574,13 +589,17 @@ jobs:
574589 env :
575590 PW_BUNDLE : ${{ matrix.bundle }}
576591 working-directory : dev-packages/browser-integration-tests
577- run : yarn test:all${{ matrix.project && format(' --project={0}', matrix.project) || '' }}${{ matrix.shard && format(' --shard={0}/{1}', matrix.shard, matrix.shards) || '' }}
592+ run :
593+ yarn test:all${{ matrix.project && format(' --project={0}', matrix.project) || '' }}${{ matrix.shard &&
594+ format(' --shard={0}/{1}', matrix.shard, matrix.shards) || '' }}
578595
579596 - name : Upload Playwright Traces
580597 uses : actions/upload-artifact@v4
581598 if : failure()
582599 with :
583- name : playwright-traces-job_browser_playwright_tests-${{ matrix.bundle}}-${{matrix.project}}-${{matrix.shard || '0'}}
600+ name :
601+ playwright-traces-job_browser_playwright_tests-${{ matrix.bundle}}-${{matrix.project}}-${{matrix.shard ||
602+ ' 0' }}
584603 path : dev-packages/browser-integration-tests/test-results
585604 overwrite : true
586605 retention-days : 7
@@ -597,7 +616,7 @@ jobs:
597616 name : PW ${{ matrix.bundle }} Tests
598617 needs : [job_get_metadata, job_build]
599618 if : needs.job_build.outputs.changed_browser_integration == 'true' || github.event_name != 'pull_request'
600- runs-on : ubuntu-20 .04
619+ runs-on : ubuntu-24 .04
601620 timeout-minutes : 15
602621 strategy :
603622 fail-fast : false
@@ -657,7 +676,7 @@ jobs:
657676 job_check_for_faulty_dts :
658677 name : Check for faulty .d.ts files
659678 needs : [job_get_metadata, job_build]
660- runs-on : ubuntu-20 .04
679+ runs-on : ubuntu-24 .04
661680 timeout-minutes : 5
662681 steps :
663682 - name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
@@ -685,7 +704,7 @@ jobs:
685704 Tests
686705 needs : [job_get_metadata, job_build]
687706 if : needs.job_build.outputs.changed_node_integration == 'true' || github.event_name != 'pull_request'
688- runs-on : ubuntu-20 .04
707+ runs-on : ubuntu-24 .04
689708 timeout-minutes : 15
690709 strategy :
691710 fail-fast : false
@@ -732,7 +751,7 @@ jobs:
732751 name : Remix (Node ${{ matrix.node }}) Tests
733752 needs : [job_get_metadata, job_build]
734753 if : needs.job_build.outputs.changed_remix == 'true' || github.event_name != 'pull_request'
735- runs-on : ubuntu-20 .04
754+ runs-on : ubuntu-24 .04
736755 timeout-minutes : 10
737756 strategy :
738757 fail-fast : false
@@ -780,7 +799,7 @@ jobs:
780799 always() &&
781800 needs.job_build.result == 'success'
782801 needs : [job_get_metadata, job_build]
783- runs-on : ubuntu-20 .04-large-js
802+ runs-on : ubuntu-24 .04-large-js
784803 timeout-minutes : 15
785804 outputs :
786805 matrix : ${{ steps.matrix.outputs.matrix }}
@@ -822,21 +841,26 @@ jobs:
822841
823842 - name : Determine which E2E test applications should be run
824843 id : matrix
825- run : yarn --silent ci:build-matrix --base=${{ (github.event_name == 'pull_request' && github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
844+ run :
845+ yarn --silent ci:build-matrix --base=${{ (github.event_name == 'pull_request' &&
846+ github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
826847 working-directory : dev-packages/e2e-tests
827848
828849 - name : Determine which optional E2E test applications should be run
829850 id : matrix-optional
830- run : yarn --silent ci:build-matrix-optional --base=${{ (github.event_name == 'pull_request' && github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
851+ run :
852+ yarn --silent ci:build-matrix-optional --base=${{ (github.event_name == 'pull_request' &&
853+ github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
831854 working-directory : dev-packages/e2e-tests
832855
833856 job_e2e_tests :
834857 name : E2E ${{ matrix.label || matrix.test-application }} Test
835858 # We need to add the `always()` check here because the previous step has this as well :(
836859 # See: https://github.com/actions/runner/issues/2205
837- if : always() && needs.job_e2e_prepare.result == 'success' && needs.job_e2e_prepare.outputs.matrix != '{"include":[]}'
860+ if :
861+ always() && needs.job_e2e_prepare.result == 'success' && needs.job_e2e_prepare.outputs.matrix != '{"include":[]}'
838862 needs : [job_get_metadata, job_build, job_e2e_prepare]
839- runs-on : ubuntu-22 .04
863+ runs-on : ubuntu-24 .04
840864 timeout-minutes : 15
841865 env :
842866 # We just use a dummy DSN here, only send to the tunnel anyhow
@@ -951,14 +975,11 @@ jobs:
951975 # We need to add the `always()` check here because the previous step has this as well :(
952976 # See: https://github.com/actions/runner/issues/2205
953977 if :
954- always() &&
955- needs.job_get_metadata.outputs.is_release != 'true' &&
956- needs.job_e2e_prepare.result == 'success' &&
957- needs.job_e2e_prepare.outputs.matrix-optional != '{"include":[]}' &&
958- (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
959- github.actor != 'dependabot[bot]'
978+ always() && needs.job_get_metadata.outputs.is_release != 'true' && needs.job_e2e_prepare.result == 'success' &&
979+ needs.job_e2e_prepare.outputs.matrix-optional != '{"include":[]}' && (github.event_name != 'pull_request' ||
980+ github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]'
960981 needs : [job_get_metadata, job_build, job_e2e_prepare]
961- runs-on : ubuntu-20 .04
982+ runs-on : ubuntu-24 .04
962983 timeout-minutes : 15
963984 env :
964985 E2E_TEST_AUTH_TOKEN : ${{ secrets.E2E_TEST_AUTH_TOKEN }}
@@ -1078,7 +1099,7 @@ jobs:
10781099 ]
10791100 # Always run this, even if a dependent job failed
10801101 if : always()
1081- runs-on : ubuntu-20 .04
1102+ runs-on : ubuntu-24 .04
10821103 steps :
10831104 - name : Check for failures
10841105 if : contains(needs.*.result, 'failure')
0 commit comments