-
Notifications
You must be signed in to change notification settings - Fork 0
150 lines (146 loc) · 7.42 KB
/
Copy pathcanonical-media-types.yml
File metadata and controls
150 lines (146 loc) · 7.42 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: Canonical media type, playback core and native evidence gate
on:
pull_request:
branches: [main]
paths:
- "provider_catalog.json"
- "manifest.json"
- "vf/manifest.json"
- "package.json"
- "package-lock.json"
- ".github/triggers/nuvio-client-lab.json"
- "automation/native-human-ux-policy.json"
- "assets/**"
- "engine_v2/src/**"
- "engine_v2/tests/**"
- "engine_v2/scripts/diagnose-native-reader.mjs"
- "engine_v2/scripts/diagnose-native-media-capabilities.mjs"
- "engine_v2/scripts/learning-lab.mjs"
- "engine_v2/scripts/watch-upstream-providers.mjs"
- "scripts/check_nuvio_client_upstreams.py"
- "scripts/resolve_nuvio_lab_heads.py"
- "scripts/scope_native_reader_learning_runtime.py"
- "scripts/prepare_native_corpus_validation.py"
- "scripts/native_player_diagnostics_codegen.py"
- "scripts/augment_native_corpus_request_contract.py"
- "scripts/augment_native_provider_loading.py"
- "scripts/prepare_native_candidate_repository.py"
- "scripts/resolve_native_repository.sh"
- "scripts/native_evidence_completeness.cjs"
- "scripts/analyze_native_corpus_collection.cjs"
- "scripts/analyze_native_corpus_results.cjs"
- "scripts/analyze_native_media_type_capabilities.cjs"
- "scripts/gate_native_reader_result.cjs"
- "scripts/gate_native_reader_coverage.cjs"
- "scripts/instrument_native_client_evidence.py"
- "scripts/instrument_native_repository_http_evidence.py"
- "scripts/instrument_native_desktop_evidence.py"
- "scripts/capture_native_device_frontend.sh"
- "scripts/watch_native_device_frontend.sh"
- "scripts/augment_native_desktop_player.py"
- "scripts/complete_native_desktop_frontend_phases.py"
- "scripts/run_native_corpus_tv_suite.sh"
- "scripts/run_native_corpus_mobile_suite.sh"
- "scripts/run_native_corpus_desktop_suite.sh"
- "scripts/merge_native_reader_repair_learning.py"
- "scripts/merge_native_reader_backlog.py"
- "scripts/provider_patches/global_stream_facts_v1.py"
- "scripts/provider_patches/global_stream_identity_v1.py"
- "scripts/provider_patches/global_stream_presentation_v1.py"
- ".github/workflows/native-android-route-reader.yml"
- ".github/workflows/native-desktop-reader-acceptance.yml"
- ".github/workflows/native-reader-learning-sync.yml"
- ".github/workflows/brain-learning-lab.yml"
- "tests/canonical_media_types_test.py"
- "tests/global_stream_identity_test.py"
- "tests/global_stream_presentation_test.py"
- "tests/global_stream_presentation_pipeline_test.py"
- "tests/badge_asset_contract_test.py"
- "tests/brain_cron_full_coverage_test.py"
- "tests/native_evidence_contract_test.py"
- "tests/native_evidence_completeness_test.cjs"
- "tests/native_evidence_codegen_pipeline_test.py"
- "tests/native_player_diagnostics_codegen_test.py"
- "tests/native_lab_observational_purity_test.py"
- "tests/native_human_ux_policy_lock_test.py"
- "tests/native_repository_cache_contract_test.py"
- "tests/native_repository_http_instrumentation_test.py"
- "tests/native_media_type_capability_test.py"
- "tests/native_reader_learning_memory_test.py"
- "tests/native_reader_runtime_scope_test.py"
- "tests/nuvio_lab_head_resolver_test.py"
- "tests/native_reader_backlog_test.py"
- ".github/workflows/canonical-media-types.yml"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: canonical-media-types-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
canonical-media-types:
runs-on: ubuntu-latest
timeout-minutes: 18
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with: {persist-credentials: false}
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020
with: {node-version: "24", package-manager-cache: false}
- name: Install exact dependency tree
run: npm ci --ignore-scripts --no-audit --no-fund
- name: Audit non-optional production dependencies
run: npm audit --audit-level=high --omit=optional
- name: Verify upgraded runtime imports
run: node -e "require('axios'); require('cheerio'); console.log('dependency imports ok')"
- name: Validate canonical catalog and manifest projections
run: python3 tests/canonical_media_types_test.py
- name: Validate canonical stream contract
run: node engine_v2/tests/contracts.test.mjs
- name: Validate shared stream presentation and TMDB fallback
run: node engine_v2/tests/stream-presentation.test.mjs
- name: Validate Core-wide stream facts, identity and presentation
run: |
python3 tests/global_stream_presentation_test.py
python3 tests/global_stream_presentation_pipeline_test.py
python3 tests/global_stream_identity_test.py
python3 tests/brain_cron_full_coverage_test.py
- name: Validate image badge assets and theme contrast mapping
run: python3 tests/badge_asset_contract_test.py
- name: Validate weekly upstream provider comparator
run: node engine_v2/tests/upstream-provider-watch.test.mjs
- name: Validate deep HLS playback chain and ranking
run: node engine_v2/tests/media-validator.test.mjs
- name: Validate resolver Core
run: node engine_v2/tests/resolver-core.test.mjs
- name: Validate Brain v4 reader causality
run: node engine_v2/tests/native-reader-brain-v4.test.mjs
- name: Validate exact official Nuvio Lab HEAD resolver
run: python3 tests/nuvio_lab_head_resolver_test.py
- name: Validate full native evidence architecture
run: python3 tests/native_evidence_contract_test.py
- name: Validate native evidence execution floor
run: node tests/native_evidence_completeness_test.cjs
- name: Validate native reader codegen purity
run: python3 tests/native_player_diagnostics_codegen_test.py
- name: Execute native evidence Kotlin codegen pipeline
run: python3 tests/native_evidence_codegen_pipeline_test.py
- name: Audit observational purity of native labs
run: python3 tests/native_lab_observational_purity_test.py
- name: Enforce locked human UX harness policy
run: python3 tests/native_human_ux_policy_lock_test.py
- name: Validate repository HTTP instrumentation contracts
run: python3 tests/native_repository_http_instrumentation_test.py
- name: Validate persistent native repository cache safety
run: python3 tests/native_repository_cache_contract_test.py
- name: Validate repository and reader Brain diagnosis
run: node engine_v2/tests/native-reader-diagnosis.test.mjs
- name: Validate native reader repair-memory merge
run: python3 tests/native_reader_learning_memory_test.py
- name: Validate reader memory isolation across Nuvio runtime drift
run: python3 tests/native_reader_runtime_scope_test.py
- name: Validate automatic native reader bug backlog
run: python3 tests/native_reader_backlog_test.py
- name: Validate Brain cross-day reader-memory preservation
run: node engine_v2/tests/learning-lab-memory.test.mjs
- name: Validate non-blocking tv/anime capability learning
run: python3 tests/native_media_type_capability_test.py