@@ -801,7 +801,15 @@ jobs:
801
801
needs : [job_get_metadata, job_build, job_compile_bindings_profiling_node]
802
802
runs-on : ubuntu-20.04-large-js
803
803
timeout-minutes : 15
804
+ outputs :
805
+ matrix : ${{ steps.matrix.outputs.matrix }}
806
+ matrix-optional : ${{ steps.matrix-optional.outputs.matrix }}
804
807
steps :
808
+ - name : Check out base commit (${{ github.event.pull_request.base.sha }})
809
+ uses : actions/checkout@v4
810
+ if : github.event_name == 'pull_request'
811
+ with :
812
+ ref : ${{ github.event.pull_request.base.sha }}
805
813
- name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
806
814
uses : actions/checkout@v4
807
815
with :
@@ -851,11 +859,21 @@ jobs:
851
859
path : ${{ github.workspace }}/packages/*/*.tgz
852
860
key : ${{ env.BUILD_CACHE_TARBALL_KEY }}
853
861
862
+ - name : Determine which E2E test applications should be run
863
+ id : matrix
864
+ run : yarn --silent ci:build-matrix --base=${{ (github.event_name == 'pull_request' && github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
865
+ working-directory : dev-packages/e2e-tests
866
+
867
+ - name : Determine which optional E2E test applications should be run
868
+ id : matrix-optional
869
+ run : yarn --silent ci:build-matrix-optional --base=${{ (github.event_name == 'pull_request' && github.event.pull_request.base.sha) || '' }} >> $GITHUB_OUTPUT
870
+ working-directory : dev-packages/e2e-tests
871
+
854
872
job_e2e_tests :
855
873
name : E2E ${{ matrix.label || matrix.test-application }} Test
856
874
# We need to add the `always()` check here because the previous step has this as well :(
857
875
# See: https://github.com/actions/runner/issues/2205
858
- if : always() && needs.job_e2e_prepare.result == 'success'
876
+ if : always() && needs.job_e2e_prepare.result == 'success' && needs.job_e2e_prepare.outputs.matrix != '{"include":[]}'
859
877
needs : [job_get_metadata, job_build, job_e2e_prepare]
860
878
runs-on : ubuntu-20.04
861
879
timeout-minutes : 15
@@ -870,105 +888,7 @@ jobs:
870
888
E2E_TEST_SENTRY_PROJECT : ' sentry-javascript-e2e-tests'
871
889
strategy :
872
890
fail-fast : false
873
- matrix :
874
- is_dependabot :
875
- - ${{ github.actor == 'dependabot[bot]' }}
876
- test-application :
877
- [
878
- ' angular-17' ,
879
- ' angular-18' ,
880
- ' astro-4' ,
881
- ' aws-lambda-layer-cjs' ,
882
- ' aws-serverless-esm' ,
883
- ' node-express' ,
884
- ' create-react-app' ,
885
- ' create-next-app' ,
886
- ' create-remix-app' ,
887
- ' create-remix-app-legacy' ,
888
- ' create-remix-app-v2' ,
889
- ' create-remix-app-v2-legacy' ,
890
- ' create-remix-app-express' ,
891
- ' create-remix-app-express-legacy' ,
892
- ' create-remix-app-express-vite-dev' ,
893
- ' default-browser' ,
894
- ' node-express-esm-loader' ,
895
- ' node-express-esm-preload' ,
896
- ' node-express-esm-without-loader' ,
897
- ' node-express-cjs-preload' ,
898
- ' node-otel-sdk-node' ,
899
- ' node-otel-custom-sampler' ,
900
- ' node-otel-without-tracing' ,
901
- ' ember-classic' ,
902
- ' ember-embroider' ,
903
- ' nextjs-app-dir' ,
904
- ' nextjs-13' ,
905
- ' nextjs-14' ,
906
- ' nextjs-15' ,
907
- ' nextjs-turbo' ,
908
- ' nextjs-t3' ,
909
- ' react-17' ,
910
- ' react-19' ,
911
- ' react-create-hash-router' ,
912
- ' react-router-6-use-routes' ,
913
- ' react-router-5' ,
914
- ' react-router-6' ,
915
- ' solid' ,
916
- ' solidstart' ,
917
- ' solidstart-spa' ,
918
- ' svelte-5' ,
919
- ' sveltekit' ,
920
- ' sveltekit-2' ,
921
- ' sveltekit-2-svelte-5' ,
922
- ' sveltekit-2-twp' ,
923
- ' tanstack-router' ,
924
- ' generic-ts3.8' ,
925
- ' node-fastify' ,
926
- ' node-fastify-5' ,
927
- ' node-hapi' ,
928
- ' node-nestjs-basic' ,
929
- ' node-nestjs-distributed-tracing' ,
930
- ' nestjs-basic' ,
931
- ' nestjs-8' ,
932
- ' nestjs-distributed-tracing' ,
933
- ' nestjs-with-submodules' ,
934
- ' nestjs-with-submodules-decorator' ,
935
- ' nestjs-basic-with-graphql' ,
936
- ' nestjs-graphql' ,
937
- ' node-exports-test-app' ,
938
- ' node-koa' ,
939
- ' node-connect' ,
940
- ' nuxt-3' ,
941
- ' nuxt-3-min' ,
942
- ' nuxt-4' ,
943
- ' vue-3' ,
944
- ' webpack-4' ,
945
- ' webpack-5'
946
- ]
947
- build-command :
948
- - false
949
- label :
950
- - false
951
- # Add any variations of a test app here
952
- # You should provide an alternate build-command as well as a matching label
953
- include :
954
- - test-application : ' create-react-app'
955
- build-command : ' test:build-ts3.8'
956
- label : ' create-react-app (TS 3.8)'
957
- - test-application : ' react-router-6'
958
- build-command : ' test:build-ts3.8'
959
- label : ' react-router-6 (TS 3.8)'
960
- - test-application : ' create-next-app'
961
- build-command : ' test:build-13'
962
- label : ' create-next-app (next@13)'
963
- - test-application : ' nextjs-app-dir'
964
- build-command : ' test:build-13'
965
- label : ' nextjs-app-dir (next@13)'
966
- exclude :
967
- - is_dependabot : true
968
- test-application : ' cloudflare-astro'
969
- - is_dependabot : true
970
- test-application : ' cloudflare-workers'
971
-
891
+ matrix : ${{ fromJson(needs.job_e2e_prepare.outputs.matrix) }}
972
892
steps :
973
893
- name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
974
894
uses : actions/checkout@v4
@@ -1069,6 +989,7 @@ jobs:
1069
989
# See: https://github.com/actions/runner/issues/2205
1070
990
if :
1071
991
always() && needs.job_e2e_prepare.result == 'success' &&
992
+ needs.job_e2e_prepare.outputs.matrix-optional != '{"include":[]}' &&
1072
993
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) &&
1073
994
github.actor != 'dependabot[bot]'
1074
995
needs : [job_get_metadata, job_build, job_e2e_prepare]
@@ -1085,58 +1006,7 @@ jobs:
1085
1006
E2E_TEST_SENTRY_PROJECT : ' sentry-javascript-e2e-tests'
1086
1007
strategy :
1087
1008
fail-fast : false
1088
- matrix :
1089
- test-application :
1090
- [
1091
- ' cloudflare-astro' ,
1092
- ' cloudflare-workers' ,
1093
- ' react-send-to-sentry' ,
1094
- ' node-express-send-to-sentry' ,
1095
- ' debug-id-sourcemaps' ,
1096
- ]
1097
- build-command :
1098
- - false
1099
- assert-command :
1100
- - false
1101
- label :
1102
- - false
1103
- include :
1104
- - test-application : ' create-remix-app'
1105
- assert-command : ' test:assert-sourcemaps'
1106
- label : ' create-remix-app (sourcemaps)'
1107
- - test-application : ' create-remix-app-legacy'
1108
- assert-command : ' test:assert-sourcemaps'
1109
- label : ' create-remix-app-legacy (sourcemaps)'
1110
- - test-application : ' nextjs-app-dir'
1111
- build-command : ' test:build-canary'
1112
- label : ' nextjs-app-dir (canary)'
1113
- - test-application : ' nextjs-app-dir'
1114
- build-command : ' test:build-latest'
1115
- label : ' nextjs-app-dir (latest)'
1116
- - test-application : ' nextjs-13'
1117
- build-command : ' test:build-canary'
1118
- label : ' nextjs-13 (canary)'
1119
- - test-application : ' nextjs-13'
1120
- build-command : ' test:build-latest'
1121
- label : ' nextjs-13 (latest)'
1122
- - test-application : ' nextjs-14'
1123
- build-command : ' test:build-canary'
1124
- label : ' nextjs-14 (canary)'
1125
- - test-application : ' nextjs-14'
1126
- build-command : ' test:build-latest'
1127
- label : ' nextjs-14 (latest)'
1128
- - test-application : ' nextjs-15'
1129
- build-command : ' test:build-canary'
1130
- label : ' nextjs-15 (canary)'
1131
- - test-application : ' nextjs-15'
1132
- build-command : ' test:build-latest'
1133
- label : ' nextjs-15 (latest)'
1134
- - test-application : ' nextjs-turbo'
1135
- build-command : ' test:build-canary'
1136
- label : ' nextjs-turbo (canary)'
1137
- - test-application : ' nextjs-turbo'
1138
- build-command : ' test:build-latest'
1139
- label : ' nextjs-turbo (latest)'
1009
+ matrix : ${{ fromJson(needs.job_e2e_prepare.outputs.matrix-optional) }}
1140
1010
1141
1011
steps :
1142
1012
- name : Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
0 commit comments