-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtmp-apply-strict-content-promotion-fix.yml
More file actions
87 lines (83 loc) · 3.44 KB
/
Copy pathtmp-apply-strict-content-promotion-fix.yml
File metadata and controls
87 lines (83 loc) · 3.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
name: Apply strict content promotion fix
on:
push:
branches:
- fix/strict-content-promotion-gate
permissions:
contents: write
concurrency:
group: strict-content-promotion-fix
cancel-in-progress: false
jobs:
patch-test-commit:
runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
ref: fix/strict-content-promotion-gate
fetch-depth: 0
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
with:
python-version: '3.12'
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: '24'
package-manager-cache: false
- name: Install dependencies
run: npm ci --ignore-scripts --no-audit --no-fund
- name: Apply strict identity and duration gate
run: |
python scripts/tmp_apply_strict_content_fix_v4.py
rm scripts/tmp_apply_strict_content_fix.py
rm scripts/tmp_apply_strict_content_fix_v2.py
rm scripts/tmp_apply_strict_content_fix_v3.py
rm scripts/tmp_apply_strict_content_fix_v4.py
rm .github/workflows/tmp-apply-strict-content-promotion-fix.yml
- name: Syntax and targeted regressions
run: |
node --check scripts/nuvio_tv_probe_v2.cjs
node --check scripts/nuvio_client_lab.cjs
python -m py_compile \
scripts/promote_global_nuvio_tv_candidates.py \
scripts/promote_target_media_v3.py \
scripts/publish_nuvio_tv_compat_v2.py \
scripts/publish_desktop_runtime_compat.py \
scripts/audit_catalogue_identity_media.py \
tests/media_duration_identity_test.py
node tests/nuvio_client_lab.test.cjs
python tests/media_duration_identity_test.py
python tests/repair_identity_gate_test.py
python tests/desktop_runtime_compat_test.py
python - <<'PY'
from pathlib import Path
publishers = [
'scripts/promote_global_nuvio_tv_candidates.py',
'scripts/promote_target_media_v3.py',
'scripts/publish_nuvio_tv_compat_v2.py',
'scripts/publish_desktop_runtime_compat.py',
]
for path in publishers:
text = Path(path).read_text(encoding='utf-8')
assert 'row["enabled"] = True' not in text, path
assert '"activation_eligible": True' not in text, path
assert '"runtime_evidence_eligible": True' not in text, path
print('publisher activation preservation tests passed')
PY
- name: Refresh published state and run full regression
run: |
python scripts/reapply_published_overrides.py
python scripts/reapply_published_overrides.py --check
python scripts/generate_release_hashes.py
npm test --ignore-scripts
python scripts/validate_release_integrity.py
python scripts/validate_activation_preservation.py
python scripts/validate_language_projection.py
- name: Commit tested fix
run: |
git config user.name 'niakvio-ci'
git config user.email 'actions@users.noreply.github.com'
git add -A
git status --short
git commit -m 'fix: enforce strict content proof before provider promotion'
git push origin HEAD:fix/strict-content-promotion-gate