Skip to content

Commit 4ac8d8d

Browse files
committed
ci: converge provider publication with branding
1 parent 771321c commit 4ac8d8d

1 file changed

Lines changed: 27 additions & 6 deletions

File tree

.github/workflows/core-media-finalize-main.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ on:
1010
- 'package.json'
1111
- 'package-lock.json'
1212
- 'automation/nuvio-client-upstreams.json'
13+
- 'assets/providers/emojis.json'
14+
- 'engine_v2/src/provider-branding.mjs'
15+
- 'engine_v2/scripts/bootstrap-provider-catalog.mjs'
16+
- 'engine_v2/tests/provider-catalog.test.mjs'
1317
- 'scripts/normalize_core_fixed_point_contract.py'
1418
- 'scripts/normalize_provider_rebuild_safety.py'
1519
- 'scripts/core_rebuild_safety.py'
@@ -36,9 +40,11 @@ on:
3640
- 'scripts/provider_patches/global_stream_facts_v1.py'
3741
- 'scripts/provider_patches/global_media_enrichment_v1.py'
3842
- 'scripts/provider_patches/global_provider_security_hardening_v1.py'
43+
- 'scripts/provider_patches/global_provider_branding_v1.py'
3944
- 'scripts/provider_security_hardening.py'
4045
- 'scripts/provider_purification.py'
4146
- 'tests/core_media_policy_test.py'
47+
- 'tests/provider_branding_contract_test.py'
4248
- 'tests/global_core_presentation_pipeline_test.py'
4349
- 'tests/native_sync_fetch_target_order_test.py'
4450
- 'tests/runtime_capability_media_safety_v4_test.py'
@@ -109,9 +115,11 @@ jobs:
109115
scripts/normalize_provider_rebuild_safety.py \
110116
scripts/core_rebuild_safety.py \
111117
scripts/normalize_core_fixed_point_contract.py \
118+
scripts/normalize_core_media_policy.py \
112119
scripts/apply_provider_overrides.py \
113120
scripts/provider_engine_normalizer.py \
114121
scripts/reapply_published_overrides.py \
122+
scripts/provider_patches/global_provider_branding_v1.py \
115123
scripts/provider_patches/stream_output_sanitizer_v6.py
116124
python tests/provider_wrapper_isolation_test.py
117125
python tests/stream_output_sanitizer_fail_closed_test.py
@@ -127,12 +135,23 @@ jobs:
127135
python scripts/normalize_core_media_policy.py --apply
128136
python scripts/apply_runtime_capability_upgrade_v4.py
129137
python scripts/build_provider_runtime_profiles.py
130-
# Two materialization passes are deliberate: pass 1 migrates old published
131-
# bytes, pass 2 proves every generic patch survives its own rebuilt/Terser
132-
# representation before any client-visible version is finalized.
133-
python scripts/reapply_published_overrides.py
134-
python scripts/reapply_published_overrides.py
135-
python scripts/reapply_published_overrides.py --check
138+
# Published artifacts may arrive from several historical Core revisions.
139+
# Rebuild until the generic pipeline reaches a true byte/reference fixed
140+
# point instead of assuming an arbitrary number of passes.
141+
converged=0
142+
for pass in 1 2 3 4 5 6; do
143+
echo "FIELD_PROVIDER_REBUILD_CONVERGENCE pass=${pass}"
144+
python scripts/reapply_published_overrides.py
145+
if python scripts/reapply_published_overrides.py --check; then
146+
converged=1
147+
echo "FIELD_PROVIDER_REBUILD_CONVERGENCE converged_at=${pass}"
148+
break
149+
fi
150+
done
151+
if [[ "$converged" -ne 1 ]]; then
152+
echo 'provider publication failed to converge within 6 passes' >&2
153+
exit 1
154+
fi
136155
python scripts/generate_language_manifests.py
137156
python scripts/prune_unreferenced_providers.py
138157
python scripts/sync_release_versions.py --manifest manifest.json --previous "$RUNNER_TEMP/manifest-before.json"
@@ -159,6 +178,7 @@ jobs:
159178
python scripts/normalize_core_media_policy.py --check
160179
python scripts/enforce_main_only_repository_policy.py --check
161180
python tests/core_media_policy_test.py
181+
python tests/provider_branding_contract_test.py
162182
python tests/global_core_presentation_pipeline_test.py
163183
python tests/native_sync_fetch_target_order_test.py
164184
python tests/runtime_capability_media_safety_v4_test.py
@@ -255,6 +275,7 @@ jobs:
255275
python scripts/normalize_core_media_policy.py --check
256276
python scripts/enforce_main_only_repository_policy.py --check
257277
python tests/core_media_policy_test.py
278+
python tests/provider_branding_contract_test.py
258279
python tests/global_playback_integrity_policy_test.py
259280
python tests/runtime_capability_media_safety_v4_test.py
260281
python tests/provider_wrapper_isolation_test.py

0 commit comments

Comments
 (0)