9696 fail-fast : false
9797 matrix : ${{fromJson(needs.matrix_prep.outputs.matrix)}}
9898 steps :
99+ - name : Setup Environment for Screen Recording
100+ uses : guidepup/setup-action@0.17.3
101+ with :
102+ record : true
103+
104+ - name : Upload Screen Recording Environment Setup
105+ uses : actions/upload-artifact@v4
106+ if : always()
107+ with :
108+ name : screenrecording-setup-${{ matrix.iteration }}.mov
109+ path : ./recordings/
110+
99111 - uses : actions/setup-node@v4
100112 with :
101113 node-version : 22
@@ -222,6 +234,11 @@ jobs:
222234 curl --output /dev/null --silent --head --fail "http://localhost:8081/index.bundle?platform=macos&dev=true&minify=false&inlineSourceMap=true"
223235 echo "...javascript bundle ready"
224236
237+ - name : Start Screen Recording and System Logging
238+ run : |
239+ nohup sh -c "sleep 314159265 | screencapture -v -C -k -T0 -g screenrecording.mov > screenrecording.log 2>&1 &"
240+ nohup sh -c "log stream --backtrace --color none --style syslog > syslog.log 2>&1 &"
241+
225242 - name : Jet Test
226243 timeout-minutes : 20
227244 run : yarn tests:macos:test-cover
@@ -230,9 +247,29 @@ jobs:
230247 with :
231248 verbose : true
232249
250+ - name : Stop Screen Recording and System Logging
251+ if : always()
252+ run : |
253+ killall -int screencapture
254+ killall -int log
255+
233256 - name : Upload Metro Log
234257 uses : actions/upload-artifact@v4
235258 if : always()
236259 with :
237260 name : metro-${{ matrix.iteration }}_log
238261 path : metro.log
262+
263+ - name : Upload Screen Recording
264+ uses : actions/upload-artifact@v4
265+ if : always()
266+ with :
267+ name : screenrecording-${{ matrix.iteration }}
268+ path : screenrecording.*
269+
270+ - name : Upload System Log
271+ uses : actions/upload-artifact@v4
272+ if : always()
273+ with :
274+ name : syslog-${{ matrix.iteration }}
275+ path : syslog.log
0 commit comments