Skip to content

Commit 2d80f2c

Browse files
committed
Update workflows to generating log file name
1 parent ffda6ab commit 2d80f2c

5 files changed

Lines changed: 158 additions & 63 deletions

File tree

.github/workflows/linux_benchmark.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ jobs:
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

.github/workflows/linux_examples.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ jobs:
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.examples.result}}" >> $GITHUB_ENV
277+
echo 'NOTIFICATION_STATUS=${{ needs.examples.result}}' >> $GITHUB_ENV
257278
if [[ "${{ needs.examples.result }}" = "success" ]]; then
258-
echo "NOTIFICATION_TEXT='**examples** workflow succeeded (linux)'" >> $GITHUB_ENV
259-
echo "NOTIFICATION_AUTHOR_NAME=Success" >> $GITHUB_ENV
279+
echo 'NOTIFICATION_TEXT=**examples** workflow succeeded (linux)' >> $GITHUB_ENV
280+
echo 'NOTIFICATION_AUTHOR_NAME=Success' >> $GITHUB_ENV
260281
elif [[ "${{ needs.examples.result }}" = "failure" ]]; then
261-
echo "NOTIFICATION_TEXT='**examples** workflow failed (linux)'" >> $GITHUB_ENV
262-
echo "NOTIFICATION_AUTHOR_NAME=Failure" >> $GITHUB_ENV
282+
echo 'NOTIFICATION_TEXT=**examples** workflow failed (linux)' >> $GITHUB_ENV
283+
echo 'NOTIFICATION_AUTHOR_NAME=Failure' >> $GITHUB_ENV
263284
elif [[ "${{ needs.examples.result }}" = "cancelled" ]]; then
264-
echo "NOTIFICATION_TEXT='**examples** workflow was canceled (linux)'" >> $GITHUB_ENV
265-
echo "NOTIFICATION_AUTHOR_NAME=Canceled" >> $GITHUB_ENV
285+
echo 'NOTIFICATION_TEXT=**examples** workflow was canceled (linux)' >> $GITHUB_ENV
286+
echo 'NOTIFICATION_AUTHOR_NAME=Canceled' >> $GITHUB_ENV
266287
else
267288
exit 1
268289
fi

.github/workflows/linux_test.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ jobs:
5151
LINKER: 'g++'
5252
GITHUB: 'true'
5353
DISPLAY: ':99'
54+
LOG_DIR: './tmp/var/log'
55+
LOG_FILE_INSTALL: "${{ env.LOG_DIR }}/install.log"
56+
LOG_FILE_BUILD_TASK: "${{ env.LOG_DIR }}/${{ matrix.BUILD_TASK }}"
57+
LOG_NUM_LINES: 5000
5458

5559
# Define the build matrix strategy...
5660
strategy:
@@ -112,6 +116,14 @@ jobs:
112116
# Define the sequence of job steps...
113117
steps:
114118

119+
# Initialize log files:
120+
- name: 'Initialize log files'
121+
run: |
122+
mkdir -p "${{ env.LOG_DIR }}"
123+
touch "${{ env.LOG_FILE_INSTALL }}"
124+
touch "${{ env.LOG_FILE_BUILD_TASK }}"
125+
timeout-minutes: 2
126+
115127
# Install compilers:
116128
- name: 'Install compilers'
117129
run: |
@@ -188,23 +200,32 @@ jobs:
188200
lfs: false
189201
timeout-minutes: 10
190202

191-
# Perform install sequence (accounting for spurious installation errors, such as network timeouts, which can occasionally happen when running `npm install`):
203+
# Perform install sequence:
192204
- name: 'Perform install sequence'
193205
run: |
194-
. "$GITHUB_WORKSPACE/tools/ci/github/script" install
206+
. "$GITHUB_WORKSPACE/tools/ci/github/script" install "${{ env.LOG_FILE_INSTALL }}"
195207
timeout-minutes: 30
196208

209+
# View the log file if the previous step fails:
210+
- name: 'View log file'
211+
if: failure()
212+
run: |
213+
echo "Printing the last ${{ env.LOG_NUM_LINES }} lines of log output..."
214+
tail -${{ env.LOG_NUM_LINES }} "${{ env.LOG_FILE_INSTALL }}"
215+
timeout-minutes: 5
216+
197217
# Run the build task:
198218
- name: 'Run build task'
199219
run: |
200-
. "$GITHUB_WORKSPACE/tools/ci/github/script" ${{ matrix.BUILD_TASK }}
220+
. "$GITHUB_WORKSPACE/tools/ci/github/script" ${{ matrix.BUILD_TASK }} "${{ env.LOG_FILE_BUILD_TASK }}"
201221
timeout-minutes: 360
202222

203223
# View the log file if the previous step fails:
204224
- name: 'View log file'
205225
if: failure()
206226
run: |
207-
. "$GITHUB_WORKSPACE/tools/ci/github/on_failure" ${{ matrix.BUILD_TASK }}
227+
echo "Printing the last ${{ env.LOG_NUM_LINES }} lines of log output..."
228+
tail -${{ env.LOG_NUM_LINES }} "${{ env.LOG_FILE_BUILD_TASK }}"
208229
timeout-minutes: 5
209230

210231
# Upload the log file:
@@ -213,10 +234,10 @@ jobs:
213234
if: always()
214235
with:
215236
# Define a name for the uploaded artifact (ensuring a unique name for each job):
216-
name: ${{ matrix.BUILD_TASK }}-log-v${{ matrix.NODE_VERSION }}-${{ matrix.PLATFORM }}
237+
name: ${{ matrix.BUILD_TASK }}_log_v${{ matrix.NODE_VERSION }}_${{ matrix.PLATFORM }}
217238

218239
# Specify the path to the file to upload:
219-
path: ./tmp/var/log/${{ matrix.BUILD_TASK }}.log
240+
path: "${{ env.LOG_FILE_BUILD_TASK }}"
220241

221242
# Specify the number of days to retain the artifact (default is 90 days):
222243
retention-days: 5
@@ -249,16 +270,16 @@ jobs:
249270
# Resolve notification data:
250271
- name: 'Resolve notification data'
251272
run: |
252-
echo "NOTIFICATION_STATUS=${{ needs.test.result}}" >> $GITHUB_ENV
273+
echo 'NOTIFICATION_STATUS=${{ needs.test.result}}' >> $GITHUB_ENV
253274
if [[ "${{ needs.test.result }}" = "success" ]]; then
254-
echo "NOTIFICATION_TEXT='**test** workflow succeeded (linux)'" >> $GITHUB_ENV
255-
echo "NOTIFICATION_AUTHOR_NAME=Success" >> $GITHUB_ENV
275+
echo 'NOTIFICATION_TEXT=**test** workflow succeeded (linux)' >> $GITHUB_ENV
276+
echo 'NOTIFICATION_AUTHOR_NAME=Success' >> $GITHUB_ENV
256277
elif [[ "${{ needs.test.result }}" = "failure" ]]; then
257-
echo "NOTIFICATION_TEXT='**test** workflow failed (linux)'" >> $GITHUB_ENV
258-
echo "NOTIFICATION_AUTHOR_NAME=Failure" >> $GITHUB_ENV
278+
echo 'NOTIFICATION_TEXT=**test** workflow failed (linux)' >> $GITHUB_ENV
279+
echo 'NOTIFICATION_AUTHOR_NAME=Failure' >> $GITHUB_ENV
259280
elif [[ "${{ needs.test.result }}" = "cancelled" ]]; then
260-
echo "NOTIFICATION_TEXT='**test** workflow was canceled (linux)'" >> $GITHUB_ENV
261-
echo "NOTIFICATION_AUTHOR_NAME=Canceled" >> $GITHUB_ENV
281+
echo 'NOTIFICATION_TEXT=**test** workflow was canceled (linux)' >> $GITHUB_ENV
282+
echo 'NOTIFICATION_AUTHOR_NAME=Canceled' >> $GITHUB_ENV
262283
else
263284
exit 1
264285
fi

.github/workflows/linux_test_cov.yml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ jobs:
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.test_cov.result}}" >> $GITHUB_ENV
277+
echo 'NOTIFICATION_STATUS=${{ needs.test_cov.result}}' >> $GITHUB_ENV
257278
if [[ "${{ needs.test_cov.result }}" = "success" ]]; then
258-
echo "NOTIFICATION_TEXT='**test_cov** workflow succeeded (linux)'" >> $GITHUB_ENV
259-
echo "NOTIFICATION_AUTHOR_NAME=Success" >> $GITHUB_ENV
279+
echo 'NOTIFICATION_TEXT=**test_cov** workflow succeeded (linux)' >> $GITHUB_ENV
280+
echo 'NOTIFICATION_AUTHOR_NAME=Success' >> $GITHUB_ENV
260281
elif [[ "${{ needs.test_cov.result }}" = "failure" ]]; then
261-
echo "NOTIFICATION_TEXT='**test_cov** workflow failed (linux)'" >> $GITHUB_ENV
262-
echo "NOTIFICATION_AUTHOR_NAME=Failure" >> $GITHUB_ENV
282+
echo 'NOTIFICATION_TEXT=**test_cov** workflow failed (linux)' >> $GITHUB_ENV
283+
echo 'NOTIFICATION_AUTHOR_NAME=Failure' >> $GITHUB_ENV
263284
elif [[ "${{ needs.test_cov.result }}" = "cancelled" ]]; then
264-
echo "NOTIFICATION_TEXT='**test_cov** workflow was canceled (linux)'" >> $GITHUB_ENV
265-
echo "NOTIFICATION_AUTHOR_NAME=Canceled" >> $GITHUB_ENV
285+
echo 'NOTIFICATION_TEXT=**test_cov** workflow was canceled (linux)' >> $GITHUB_ENV
286+
echo 'NOTIFICATION_AUTHOR_NAME=Canceled' >> $GITHUB_ENV
266287
else
267288
exit 1
268289
fi

0 commit comments

Comments
 (0)