@norskvideo/ctl-dev-kit 0.1.88 → 0.1.90

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.
@@ -264,6 +264,9 @@ jobs:
264
264
  NORSK_CTL_BINARY: ${{ runner.temp }}/norsk-ctl
265
265
  NORSK_LICENSE_FILE: ${{ runner.temp }}/norsk-license.json
266
266
  run: |
267
+ # Outer pipefail so the step reports the journey's exit, not tee's --
268
+ # otherwise a failed smoke run over the `| tee` below scores green.
269
+ set -euo pipefail
267
270
  nix develop .#build --command bash -c '
268
271
  set -euo pipefail
269
272
  # A frozen install does not reliably relink a hoisted package whose
@@ -279,7 +282,22 @@ jobs:
279
282
  echo "smoke image: $IMAGE_TAG"
280
283
  bun run build:image
281
284
  SMOKE_IMAGE_TAG="$IMAGE_TAG" bun run test:smoke
282
- '
285
+ ' 2>&1 | tee "$RUNNER_TEMP/smoke.log"
286
+
287
+ # We pretty much always want the Norsk logs from a smoke run: the journey
288
+ # runs the RELEASED media + studio images, and the harness dumps each
289
+ # launched instance's container logs (diagnose hook) into the run output
290
+ # at a failure -- but the containers are gone after teardown, so those
291
+ # internals only survive if the run log is persisted. Upload it so the
292
+ # engine's own log is downloadable, not buried in the step output.
293
+ # always() so a red run keeps its evidence.
294
+ - name: Upload smoke run log
295
+ if: always()
296
+ uses: actions/upload-artifact@v4
297
+ with:
298
+ name: smoke-log-attempt-${{ github.run_attempt }}
299
+ path: ${{ runner.temp }}/smoke.log
300
+ retention-days: 7
283
301
 
284
302
  # Report this pipeline's result to the aggregated product CI dashboard
285
303
  # (id3as/ci-workflows). !cancelled() so a real pass/fail reports, but a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norskvideo/ctl-dev-kit",
3
- "version": "0.1.88",
3
+ "version": "0.1.90",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./create-product": "./create-product/create-product.ts",
@@ -25,13 +25,13 @@ way resolved defaults (segment durations, as-rendered resolutions, output count)
25
25
  are guarded too, not only literal fields. When a code comment carries one of
26
26
  these rules, cite the ID there too instead of restating the rule.
27
27
 
28
- | ID | Invariant | Guarded by |
29
- | ---------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------- |
30
- | INV-PLAYLIST-001 | This customer serves legacy playlists only — every composed CMAF playlist is non-low-latency, never LL-HLS | `<slug>/<slug>-invariants.test.ts` |
31
- | INV-SEG-001 | CMAF segment duration is 4s on every rendition (a resolved default — only guardable via the composed graph) | `<slug>/<slug>-invariants.test.ts` |
32
- | INV-OUT-001 | Exactly three delivery rungs in a single named CMAF group, one playlist per rung | `<slug>/<slug>-invariants.test.ts` |
33
- | INV-RES-001 | The delivery resolutions are exactly the ladder the customer signed off (e.g. 1280x720 / 640x360 / 320x180) | `<slug>/<slug>-invariants.test.ts` |
34
- | INV-MOQ-001 | The low-latency return / monitor rides MoQ, never a WHIP/RTMP fallback | `<slug>/<slug>-invariants.test.ts` |
28
+ | ID | Invariant | Guarded by |
29
+ | ---------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------- |
30
+ | INV-PLAYLIST-001 | This customer serves legacy playlists only — every composed CMAF playlist is non-low-latency, never LL-HLS | `<slug>/<slug>-invariants.test.ts` |
31
+ | INV-SEG-001 | CMAF segment duration is 4s on every rendition (a resolved default — only guardable via the composed graph) | `<slug>/<slug>-invariants.test.ts` |
32
+ | INV-OUT-001 | Exactly three delivery rungs in a single named CMAF group, one playlist per rung | `<slug>/<slug>-invariants.test.ts` |
33
+ | INV-RES-001 | The delivery resolutions are exactly the ladder the customer signed off (e.g. 1280x720 / 640x360 / 320x180) | `<slug>/<slug>-invariants.test.ts` |
34
+ | INV-MOQ-001 | The low-latency return / monitor rides MoQ, never a WHIP/RTMP fallback | `<slug>/<slug>-invariants.test.ts` |
35
35
 
36
36
  The rows above are worked examples (drawn from the datum commentary deployment);
37
37
  delete them when seeding a new customer.