5656 LINKER : ' g++'
5757 GITHUB : ' true'
5858 DISPLAY : ' :99'
59+ LOG_DIR : ' ./tmp/var/log'
60+ LOG_FILE_INSTALL : " ${{ env.LOG_DIR }}/install.log"
61+ LOG_FILE_BUILD_TASK : " ${{ env.LOG_DIR }}/${{ matrix.BUILD_TASK }}"
62+ LOG_NUM_LINES : 5000
5963
6064 # Define the build matrix strategy...
6165 strategy :
@@ -116,6 +120,14 @@ jobs:
116120 # Define the sequence of job steps...
117121 steps :
118122
123+ # Initialize log files:
124+ - name : ' Initialize log files'
125+ run : |
126+ mkdir -p "${{ env.LOG_DIR }}"
127+ touch "${{ env.LOG_FILE_INSTALL }}"
128+ touch "${{ env.LOG_FILE_BUILD_TASK }}"
129+ timeout-minutes : 2
130+
119131 # Install compilers:
120132 - name : ' Install compilers'
121133 run : |
@@ -192,23 +204,32 @@ jobs:
192204 lfs : false
193205 timeout-minutes : 10
194206
195- # Perform install sequence (accounting for spurious installation errors, such as network timeouts, which can occasionally happen when running `npm install`) :
207+ # Perform install sequence:
196208 - name : ' Perform install sequence'
197209 run : |
198- . "$GITHUB_WORKSPACE/tools/ci/github/script" install
210+ . "$GITHUB_WORKSPACE/tools/ci/github/script" install "${{ env.LOG_FILE_INSTALL }}"
199211 timeout-minutes : 30
200212
213+ # View the log file if the previous step fails:
214+ - name : ' View log file'
215+ if : failure()
216+ run : |
217+ echo "Printing the last ${{ env.LOG_NUM_LINES }} lines of log output..."
218+ tail -${{ env.LOG_NUM_LINES }} "${{ env.LOG_FILE_INSTALL }}"
219+ timeout-minutes : 5
220+
201221 # Run the build task:
202222 - name : ' Run build task'
203223 run : |
204- . "$GITHUB_WORKSPACE/tools/ci/github/script" ${{ matrix.BUILD_TASK }}
224+ . "$GITHUB_WORKSPACE/tools/ci/github/script" ${{ matrix.BUILD_TASK }} "${{ env.LOG_FILE_BUILD_TASK }}"
205225 timeout-minutes : 360
206226
207227 # View the log file if the previous step fails:
208228 - name : ' View log file'
209229 if : failure()
210230 run : |
211- . "$GITHUB_WORKSPACE/tools/ci/github/on_failure" ${{ matrix.BUILD_TASK }}
231+ echo "Printing the last ${{ env.LOG_NUM_LINES }} lines of log output..."
232+ tail -${{ env.LOG_NUM_LINES }} "${{ env.LOG_FILE_BUILD_TASK }}"
212233 timeout-minutes : 5
213234
214235 # Upload the log file:
@@ -217,10 +238,10 @@ jobs:
217238 if : always()
218239 with :
219240 # Define a name for the uploaded artifact (ensuring a unique name for each job):
220- name : ${{ matrix.BUILD_TASK }}-log-v ${{ matrix.NODE_VERSION }}- ${{ matrix.PLATFORM }}
241+ name : ${{ matrix.BUILD_TASK }}_log_v ${{ matrix.NODE_VERSION }}_ ${{ matrix.PLATFORM }}
221242
222243 # Specify the path to the file to upload:
223- path : ./tmp/var/log/ ${{ matrix.BUILD_TASK }}.log
244+ path : " ${{ env.LOG_FILE_BUILD_TASK }}"
224245
225246 # Specify the number of days to retain the artifact (default is 90 days):
226247 retention-days : 5
@@ -253,16 +274,16 @@ jobs:
253274 # Resolve notification data:
254275 - name : ' Resolve notification data'
255276 run : |
256- echo " NOTIFICATION_STATUS=${{ needs.benchmark.result}}" >> $GITHUB_ENV
277+ echo ' NOTIFICATION_STATUS=${{ needs.benchmark.result}}' >> $GITHUB_ENV
257278 if [[ "${{ needs.benchmark.result }}" = "success" ]]; then
258- echo " NOTIFICATION_TEXT=' **benchmark** workflow succeeded (linux)'" >> $GITHUB_ENV
259- echo " NOTIFICATION_AUTHOR_NAME=Success" >> $GITHUB_ENV
279+ echo ' NOTIFICATION_TEXT=**benchmark** workflow succeeded (linux)' >> $GITHUB_ENV
280+ echo ' NOTIFICATION_AUTHOR_NAME=Success' >> $GITHUB_ENV
260281 elif [[ "${{ needs.benchmark.result }}" = "failure" ]]; then
261- echo " NOTIFICATION_TEXT=' **benchmark** workflow failed (linux)'" >> $GITHUB_ENV
262- echo " NOTIFICATION_AUTHOR_NAME=Failure" >> $GITHUB_ENV
282+ echo ' NOTIFICATION_TEXT=**benchmark** workflow failed (linux)' >> $GITHUB_ENV
283+ echo ' NOTIFICATION_AUTHOR_NAME=Failure' >> $GITHUB_ENV
263284 elif [[ "${{ needs.benchmark.result }}" = "cancelled" ]]; then
264- echo " NOTIFICATION_TEXT=' **benchmark** workflow was canceled (linux)'" >> $GITHUB_ENV
265- echo " NOTIFICATION_AUTHOR_NAME=Canceled" >> $GITHUB_ENV
285+ echo ' NOTIFICATION_TEXT=**benchmark** workflow was canceled (linux)' >> $GITHUB_ENV
286+ echo ' NOTIFICATION_AUTHOR_NAME=Canceled' >> $GITHUB_ENV
266287 else
267288 exit 1
268289 fi
0 commit comments