@norskvideo/ctl-dev-kit 0.1.19 → 0.1.21
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/checks.yml
CHANGED
|
@@ -29,7 +29,13 @@ jobs:
|
|
|
29
29
|
drift:
|
|
30
30
|
runs-on: x64
|
|
31
31
|
steps:
|
|
32
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
33
|
+
# bind-mount dirs under test-temp/ that a non-root git clean can't remove
|
|
34
|
+
# (EACCES). These jobs never need those files; skip the clean so an innocent
|
|
35
|
+
# bystander checkout doesn't choke on another workflow's leftovers.
|
|
32
36
|
- uses: actions/checkout@v5
|
|
37
|
+
with:
|
|
38
|
+
clean: false
|
|
33
39
|
- name: Shared-conventions drift-check (Workstream I)
|
|
34
40
|
run: |
|
|
35
41
|
nix develop .#build --command bash -c '
|
|
@@ -41,7 +47,13 @@ jobs:
|
|
|
41
47
|
quality:
|
|
42
48
|
runs-on: x64
|
|
43
49
|
steps:
|
|
50
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
51
|
+
# bind-mount dirs under test-temp/ that a non-root git clean can't remove
|
|
52
|
+
# (EACCES). These jobs never need those files; skip the clean so an innocent
|
|
53
|
+
# bystander checkout doesn't choke on another workflow's leftovers.
|
|
44
54
|
- uses: actions/checkout@v5
|
|
55
|
+
with:
|
|
56
|
+
clean: false
|
|
45
57
|
- name: Lint + typecheck + unit tests
|
|
46
58
|
run: |
|
|
47
59
|
nix develop .#build --command bash -c '
|
|
@@ -54,14 +66,22 @@ jobs:
|
|
|
54
66
|
|
|
55
67
|
# Report this pipeline's result to the aggregated product CI dashboard
|
|
56
68
|
# (id3as/ci-workflows) instead of posting its own pony — the dashboard renders
|
|
57
|
-
# the pony/emoji from the dispatched result.
|
|
58
|
-
#
|
|
69
|
+
# the pony/emoji from the dispatched result. !cancelled() so a real pass/fail
|
|
70
|
+
# reports, but a cancelled/superseded run does NOT — a cancellation dispatched
|
|
71
|
+
# as failure would false-red the board on every drained or concurrency-
|
|
72
|
+
# superseded run.
|
|
59
73
|
notify:
|
|
60
74
|
needs: [drift, quality]
|
|
61
|
-
if:
|
|
75
|
+
if: ${{ !cancelled() && github.event_name == 'push' }}
|
|
62
76
|
runs-on: x64
|
|
63
77
|
steps:
|
|
78
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
79
|
+
# bind-mount dirs under test-temp/ that a non-root git clean can't remove
|
|
80
|
+
# (EACCES). These jobs never need those files; skip the clean so an innocent
|
|
81
|
+
# bystander checkout doesn't choke on another workflow's leftovers.
|
|
64
82
|
- uses: actions/checkout@v5
|
|
83
|
+
with:
|
|
84
|
+
clean: false
|
|
65
85
|
- id: meta
|
|
66
86
|
run: |
|
|
67
87
|
if [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" = "true" ]; then
|
|
@@ -43,7 +43,21 @@ jobs:
|
|
|
43
43
|
sync:
|
|
44
44
|
runs-on: x64
|
|
45
45
|
steps:
|
|
46
|
+
# Check out with CI_DISPATCH_TOKEN, not the automatic GITHUB_TOKEN: this job
|
|
47
|
+
# pushes re-synced copies, and the dev-kit single-sources the shared
|
|
48
|
+
# .github/workflows/ files -- so a sync can rewrite a workflow file, and
|
|
49
|
+
# GITHUB_TOKEN is categorically barred from pushing under .github/workflows/
|
|
50
|
+
# (no permissions: key unlocks it). CI_DISPATCH_TOKEN carries the fine-grained
|
|
51
|
+
# Workflows:write permission, so its push is allowed. The checkout credential
|
|
52
|
+
# is what both the green push:main and the red branch push authenticate with.
|
|
53
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
54
|
+
# bind-mount dirs under test-temp/ a non-root git clean can't remove
|
|
55
|
+
# (EACCES); this job never needs them. `git add -A` below still ignores
|
|
56
|
+
# them (test-temp is gitignored), so the sync commit stays clean.
|
|
46
57
|
- uses: actions/checkout@v5
|
|
58
|
+
with:
|
|
59
|
+
token: ${{ secrets.CI_DISPATCH_TOKEN }}
|
|
60
|
+
clean: false
|
|
47
61
|
|
|
48
62
|
- name: Resolve the newest published dev-kit and bump the pin
|
|
49
63
|
id: sync
|
|
@@ -108,9 +122,11 @@ jobs:
|
|
|
108
122
|
forced copies re-synced from the new canonical (sync-drift); check:drift +
|
|
109
123
|
lint + typecheck + unit tests green against the new bytes. Lockfile
|
|
110
124
|
regenerated."
|
|
111
|
-
#
|
|
112
|
-
#
|
|
113
|
-
#
|
|
125
|
+
# This pushes with CI_DISPATCH_TOKEN (a PAT), so unlike a GITHUB_TOKEN
|
|
126
|
+
# push it DOES retrigger downstream checks -- intended: the landed sync
|
|
127
|
+
# should exercise the product's build workflows once (sync-dev-kit itself
|
|
128
|
+
# is schedule/dispatch-only, so no loop). Rebase-and-retry so a commit
|
|
129
|
+
# landing mid-run does not red the sync; a real conflict aborts.
|
|
114
130
|
for attempt in 1 2 3 4 5; do
|
|
115
131
|
if git push origin HEAD:main; then exit 0; fi
|
|
116
132
|
echo "push rejected (attempt $attempt) - rebasing onto latest origin/main"
|
|
@@ -157,15 +173,20 @@ jobs:
|
|
|
157
173
|
run: echo "dev-kit pin already current -- nothing to sync."
|
|
158
174
|
|
|
159
175
|
# Report the sync result to the aggregated product CI dashboard
|
|
160
|
-
# (id3as/ci-workflows).
|
|
161
|
-
# run
|
|
162
|
-
#
|
|
176
|
+
# (id3as/ci-workflows). !cancelled() so a failed sync shows a sad pony but a
|
|
177
|
+
# cancelled/superseded run does not false-red the board. A gate-red run that
|
|
178
|
+
# opened a PR is still a successful sync -- the red lives on the PR's own checks
|
|
179
|
+
# run, not here.
|
|
163
180
|
notify:
|
|
164
181
|
needs: sync
|
|
165
|
-
if:
|
|
182
|
+
if: ${{ !cancelled() }}
|
|
166
183
|
runs-on: x64
|
|
167
184
|
steps:
|
|
185
|
+
# clean: false -- see the sync job; avoid a git-clean EACCES on integration's
|
|
186
|
+
# root-owned test-temp leftovers on the shared x64 pool.
|
|
168
187
|
- uses: actions/checkout@v5
|
|
188
|
+
with:
|
|
189
|
+
clean: false
|
|
169
190
|
- id: meta
|
|
170
191
|
run: |
|
|
171
192
|
if [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" = "true" ]; then
|
|
@@ -37,7 +37,13 @@ jobs:
|
|
|
37
37
|
changed: ${{ steps.bump.outputs.changed }}
|
|
38
38
|
summary: ${{ steps.bump.outputs.summary }}
|
|
39
39
|
steps:
|
|
40
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
41
|
+
# bind-mount dirs under test-temp/ that a non-root git clean can't remove
|
|
42
|
+
# (EACCES). These jobs never need those files; skip the clean so an innocent
|
|
43
|
+
# bystander checkout doesn't choke on another workflow's leftovers.
|
|
40
44
|
- uses: actions/checkout@v5
|
|
45
|
+
with:
|
|
46
|
+
clean: false
|
|
41
47
|
|
|
42
48
|
- name: Resolve the nightly channel and rewrite the coupled pins
|
|
43
49
|
id: bump
|
|
@@ -192,14 +198,21 @@ jobs:
|
|
|
192
198
|
run: echo "Nightly pins already current — nothing to bump."
|
|
193
199
|
|
|
194
200
|
# Report the nightly bump result to the aggregated product CI dashboard
|
|
195
|
-
# (id3as/ci-workflows).
|
|
196
|
-
#
|
|
201
|
+
# (id3as/ci-workflows). !cancelled() so a failed bump shows a sad pony (a
|
|
202
|
+
# cancelled/superseded run must not false-red the board); the summary rides
|
|
203
|
+
# along as the cell detail.
|
|
197
204
|
notify:
|
|
198
205
|
needs: bump
|
|
199
|
-
if:
|
|
206
|
+
if: ${{ !cancelled() }}
|
|
200
207
|
runs-on: x64
|
|
201
208
|
steps:
|
|
209
|
+
# clean: false -- the integration suite (shared x64 pool) leaves root-owned
|
|
210
|
+
# bind-mount dirs under test-temp/ that a non-root git clean can't remove
|
|
211
|
+
# (EACCES). These jobs never need those files; skip the clean so an innocent
|
|
212
|
+
# bystander checkout doesn't choke on another workflow's leftovers.
|
|
202
213
|
- uses: actions/checkout@v5
|
|
214
|
+
with:
|
|
215
|
+
clean: false
|
|
203
216
|
- id: meta
|
|
204
217
|
run: |
|
|
205
218
|
if [ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" = "true" ]; then
|