@norskvideo/ctl-dev-kit 0.2.17 → 0.2.18

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.
@@ -178,6 +178,39 @@ jobs:
178
178
  echo "NORSK_RUNNER_OWNS_DOCKER=true" >> "$GITHUB_ENV"
179
179
  fi
180
180
 
181
+ # Integration needs this host's docker to be able to create a network: the
182
+ # harness makes norsk-net and a network per instance. On 2026-10-02
183
+ # ashton-nuc's filter table had lost DOCKER-ISOLATION-STAGE-2, so every
184
+ # create failed with "Chain 'DOCKER-ISOLATION-STAGE-2' does not exist" --
185
+ # and commentary, probe and playout each ran a FULL integration suite on it
186
+ # and reported the result as test failures, 18 and 72 chain errors deep in
187
+ # their logs. The same host took four of that night's norsk image jobs down
188
+ # the same way. Nothing said "this machine's docker is broken".
189
+ #
190
+ # The chain is not readable without root on these runners, so this asserts
191
+ # the capability instead: create a throwaway network, remove it. One step,
192
+ # its own name, so the jobs API attributes the failure to it rather than to
193
+ # whatever composite step happened to be running.
194
+ - name: Check this host's docker can still create a network
195
+ run: |
196
+ set -uo pipefail
197
+ net="preflight-${{ github.run_id }}-${{ github.run_attempt }}-$RANDOM"
198
+ if err=$(docker network create "$net" 2>&1); then
199
+ docker network rm "$net" >/dev/null 2>&1 || true
200
+ echo "docker can create networks on $(hostname) -- ok"
201
+ exit 0
202
+ fi
203
+ echo "::error::docker on this runner cannot create a network, so every container this suite starts would silently not exist -- the tests would fail for a reason that is not theirs. Host: $(hostname). Fix: \`sudo systemctl restart docker\` on that machine (it rebuilds the DOCKER/DOCKER-ISOLATION iptables chains), then re-run."
204
+ echo "$err"
205
+ echo "--- docker0 (a subnet other than 172.17.0.1/16 means it was re-addressed) ---"
206
+ ip -br addr show docker0 2>/dev/null || true
207
+ echo "--- networks and their subnets ---"
208
+ for n in $(docker network ls --format '{{.Name}}' 2>/dev/null); do
209
+ printf '%-28s ' "$n"
210
+ docker network inspect "$n" --format '{{range .IPAM.Config}}{{.Subnet}} {{end}}' 2>/dev/null || echo
211
+ done
212
+ exit 1
213
+
181
214
  # `product add --image` publishes the control plane on 127.0.0.1:14321. The
182
215
  # daemon means to reap it on shutdown (daemon.ts, model B) but only does so
183
216
  # gracefully, and this workflow cancels its own superseded runs -- a killed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norskvideo/ctl-dev-kit",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./create-product": "./create-product/create-product.ts",