@@ -97,15 +97,19 @@ jobs:
9797 - name : Watch the deployment
9898 run : gh run watch $deploy_run_id -R originlab/${{ matrix.site }} -i 10 --exit-status
9999
100- - name : Find job IDs and the SHA
100+ - name : Find SHA, job IDs, and durations
101101 run : |
102102 run_view_json=$(gh run view "$deploy_run_id" -R "originlab/${{ matrix.site }}" --json jobs,headSha)
103-
104- echo "$run_view_json"
105-
106- echo "build_job_id=$(echo "$run_view_json" | jq -r '.jobs[] | select(.name == "publish_book / convert") | .id')" >> "$GITHUB_ENV"
107- echo "optimize_job_id=$(echo "$run_view_json" | jq -r '.jobs[] | select(.name == "publish_book / optimize") | .id')" >> "$GITHUB_ENV"
108- echo "run_sha=$(echo "$run_view_json" | jq -r '.headSha')" >> "$GITHUB_ENV"
103+ echo "$run_view_json" | jq -r '
104+ (.jobs[] | select(.name | startswith("publish_book / convert"))) as $build
105+ | (.jobs[] | select(.name == "publish_book / optimize")) as $optimize
106+ | "run_sha=\(.headSha)",
107+ "build_job_id=\($build.databaseId)",
108+ "optimize_job_id=\($optimize.databaseId)",
109+ "build_duration=\(($build.completedAt | fromdateiso8601) - ($build.startedAt | fromdateiso8601))",
110+ "optimize_duration=\(($optimize.completedAt | fromdateiso8601) - ($optimize.startedAt | fromdateiso8601))"
111+ ' >> "$GITHUB_ENV"
112+ echo 'Done.'
109113
110114 - name : Setup helper scripts
111115 run : |
@@ -133,30 +137,6 @@ jobs:
133137 echo "$result" | xargs
134138 }
135139
136- get_duration() {
137- local repo="$1"
138- local job_id="$2"
139-
140- local job_data
141- job_data=$(gh api "/repos/${repo}/actions/jobs/${job_id}")
142-
143- local start_time end_time
144- start_time=$(echo "$job_data" | jq -r '.started_at')
145- end_time=$(echo "$job_data" | jq -r '.completed_at')
146-
147- if [ "$start_time" = "null" ] || [ "$end_time" = "null" ]; then
148- echo "0"
149- return
150- fi
151-
152- local start_epoch end_epoch raw_seconds
153- start_epoch=$(date -d "$start_time" +%s)
154- end_epoch=$(date -d "$end_time" +%s)
155- raw_seconds=$((end_epoch - start_epoch))
156-
157- get_human_time "$raw_seconds"
158- }
159-
160140 get_sorted_groups() {
161141 awk -F'\t' '
162142 {
@@ -196,9 +176,7 @@ jobs:
196176 run : |
197177 source ./helpers.sh
198178
199- duration=$(get_duration "originlab/${{ matrix.site }}" "$build_job_id")
200-
201- echo "# Conversion <sub><sup>:stopwatch:$duration</sup></sub>" >> "$GITHUB_STEP_SUMMARY"
179+ echo "# Conversion <sub><sup>:stopwatch:$build_duration</sup></sub>" >> "$GITHUB_STEP_SUMMARY"
202180 gh run view $deploy_run_id -j $build_job_id -R originlab/${{ matrix.site }} --log \
203181 | awk '/generator\.dll"/ {f=1} /upload-artifact/ {f=0} f' \
204182 | cut -f3- | cut -d' ' -f2- \
@@ -216,9 +194,7 @@ jobs:
216194 run : |
217195 source ./helpers.sh
218196
219- duration=$(get_duration "originlab/${{ matrix.site }}" "$optimize_job_id")
220-
221- echo "# Optimization <sub><sup>:stopwatch:$duration</sup></sub>" >> "$GITHUB_STEP_SUMMARY"
197+ echo "# Optimization <sub><sup>:stopwatch:$optimize_duration</sup></sub>" >> "$GITHUB_STEP_SUMMARY"
222198 opt_log=$(gh run view $deploy_run_id -j $optimize_job_id -R originlab/${{ matrix.site }} --log \
223199 | awk '/find pages\// {f=1} /upload-artifact/ {f=0} f' \
224200 | cut -f3- | cut -d' ' -f2- \
0 commit comments