@norskvideo/ctl-dev-kit 0.1.90 → 0.1.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/conventions/smoke.yml +20 -0
- package/conventions/workflow-shell.ts +13 -4
- package/package.json +1 -1
package/conventions/smoke.yml
CHANGED
|
@@ -263,6 +263,12 @@ jobs:
|
|
|
263
263
|
env:
|
|
264
264
|
NORSK_CTL_BINARY: ${{ runner.temp }}/norsk-ctl
|
|
265
265
|
NORSK_LICENSE_FILE: ${{ runner.temp }}/norsk-license.json
|
|
266
|
+
# Where the harness copies each instance's full engine logs
|
|
267
|
+
# (/var/log/norsk -> debug.json, host-mounted under the store) before
|
|
268
|
+
# teardown nukes them. Uploaded below. `docker logs` only sees the
|
|
269
|
+
# notice+ stdout subset and a decode-error flood can drown its tail;
|
|
270
|
+
# this is the complete structured log at every level.
|
|
271
|
+
NORSK_CI_LOG_DIR: ${{ runner.temp }}/norsk-logs
|
|
266
272
|
run: |
|
|
267
273
|
# Outer pipefail so the step reports the journey's exit, not tee's --
|
|
268
274
|
# otherwise a failed smoke run over the `| tee` below scores green.
|
|
@@ -299,6 +305,20 @@ jobs:
|
|
|
299
305
|
path: ${{ runner.temp }}/smoke.log
|
|
300
306
|
retention-days: 7
|
|
301
307
|
|
|
308
|
+
# The FULL structured engine logs (debug.json et al.), copied off the
|
|
309
|
+
# host store by the harness before teardown -- the actual place a
|
|
310
|
+
# media-node death is recorded, which `docker logs` and its stdout flood
|
|
311
|
+
# cannot show. if-no-files-found: ignore so a green run that wrote nothing
|
|
312
|
+
# here (or a launch that never reached teardown) does not fail the step.
|
|
313
|
+
- name: Upload Norsk engine logs
|
|
314
|
+
if: always()
|
|
315
|
+
uses: actions/upload-artifact@v4
|
|
316
|
+
with:
|
|
317
|
+
name: norsk-engine-logs-attempt-${{ github.run_attempt }}
|
|
318
|
+
path: ${{ runner.temp }}/norsk-logs
|
|
319
|
+
retention-days: 7
|
|
320
|
+
if-no-files-found: ignore
|
|
321
|
+
|
|
302
322
|
# Report this pipeline's result to the aggregated product CI dashboard
|
|
303
323
|
# (id3as/ci-workflows). !cancelled() so a real pass/fail reports, but a
|
|
304
324
|
# cancelled/superseded run does NOT — a cancellation dispatched as failure
|
|
@@ -4,9 +4,18 @@
|
|
|
4
4
|
// question answered first — is this line inside a quoted block or not — so it is
|
|
5
5
|
// asked in one place.
|
|
6
6
|
|
|
7
|
-
/** 1-indexed line numbers inside a multi-line `bash -c '` block, which ends at
|
|
8
|
-
* line
|
|
9
|
-
* opens no block — it is already
|
|
7
|
+
/** 1-indexed line numbers inside a multi-line `bash -c '` block, which ends at
|
|
8
|
+
* the first line whose leading character is the closing `'`. A one-liner
|
|
9
|
+
* closing its own quote (`bash -c 'a; b'`) opens no block — it is already
|
|
10
|
+
* balanced.
|
|
11
|
+
*
|
|
12
|
+
* The close is not always the whole line: smoke.yml ends its block with
|
|
13
|
+
* `' 2>&1 | tee "$RUNNER_TEMP/smoke.log"`, piping the invocation into a log.
|
|
14
|
+
* Requiring the line to be exactly `'` left the block open to end of file, so
|
|
15
|
+
* every apostrophe below it was reported as unquoted shell — comments, and an
|
|
16
|
+
* `if:` expression that is not shell at all. Inside a single-quoted word a
|
|
17
|
+
* leading apostrophe can only be the close, so what follows it on that line is
|
|
18
|
+
* outside the block and none of this guard's business. */
|
|
10
19
|
export function bashBlockLines(yaml: string): Set<number> {
|
|
11
20
|
const OPEN = "bash -c '";
|
|
12
21
|
const inside = new Set<number>();
|
|
@@ -17,7 +26,7 @@ export function bashBlockLines(yaml: string): Set<number> {
|
|
|
17
26
|
if (at >= 0 && !text.slice(at + OPEN.length).includes("'")) open = true;
|
|
18
27
|
return;
|
|
19
28
|
}
|
|
20
|
-
if (text.trim()
|
|
29
|
+
if (text.trim().startsWith("'")) {
|
|
21
30
|
open = false;
|
|
22
31
|
return;
|
|
23
32
|
}
|