|
12 | 12 | - "provider-overrides.json" |
13 | 13 | - "providers/**" |
14 | 14 | - "sources.json" |
| 15 | + - "automation/nuvio-client-upstreams.json" |
| 16 | + - "automation/platform-runtime-contracts.json" |
| 17 | + - "scripts/check_nuvio_client_upstreams.py" |
| 18 | + - "scripts/resolve_nuvio_lab_heads.py" |
15 | 19 | - "scripts/prepare_native_corpus_client.py" |
16 | 20 | - "scripts/restage_native_corpus_client.py" |
17 | 21 | - "scripts/augment_native_corpus_request_contract.py" |
|
39 | 43 | - "provider-overrides.json" |
40 | 44 | - "providers/**" |
41 | 45 | - "sources.json" |
| 46 | + - "automation/nuvio-client-upstreams.json" |
| 47 | + - "automation/platform-runtime-contracts.json" |
| 48 | + - "scripts/check_nuvio_client_upstreams.py" |
| 49 | + - "scripts/resolve_nuvio_lab_heads.py" |
42 | 50 | - "scripts/prepare_native_corpus_client.py" |
43 | 51 | - "scripts/restage_native_corpus_client.py" |
44 | 52 | - "scripts/augment_native_corpus_request_contract.py" |
@@ -70,27 +78,44 @@ concurrency: |
70 | 78 | jobs: |
71 | 79 | resolve: |
72 | 80 | runs-on: ubuntu-latest |
73 | | - timeout-minutes: 5 |
| 81 | + timeout-minutes: 8 |
74 | 82 | outputs: |
75 | 83 | desktop_sha: ${{ steps.refs.outputs.desktop_sha }} |
| 84 | + runtime_fingerprint: ${{ steps.refs.outputs.runtime_fingerprint }} |
| 85 | + desktop_drift_status: ${{ steps.refs.outputs.desktop_drift_status }} |
76 | 86 | steps: |
77 | 87 | - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 |
78 | 88 | with: |
79 | 89 | fetch-depth: 1 |
80 | 90 | persist-credentials: false |
81 | 91 | ref: ${{ github.event.pull_request.head.sha || github.sha }} |
| 92 | + - name: Inspect current official Nuvio client drift |
| 93 | + shell: bash |
| 94 | + run: | |
| 95 | + set -euo pipefail |
| 96 | + python3 scripts/check_nuvio_client_upstreams.py \ |
| 97 | + --no-fail \ |
| 98 | + --output health-output/nuvio-client-upstream-status.json |
82 | 99 | - id: refs |
| 100 | + name: Resolve latest official Desktop client HEAD |
83 | 101 | shell: bash |
84 | 102 | run: | |
85 | 103 | set -euo pipefail |
86 | | - python3 - <<'PY' >> "$GITHUB_OUTPUT" |
87 | | - import json |
88 | | - from pathlib import Path |
89 | | - data=json.loads(Path('sources.json').read_text()) |
90 | | - ref=str((((data.get('nuvio_client_compatibility') or {}).get('clients') or {}).get('nuvio-desktop') or {}).get('accepted_ref') or '') |
91 | | - if len(ref) != 40: raise SystemExit(f'missing accepted NuvioDesktop ref: {ref!r}') |
92 | | - print(f'desktop_sha={ref}') |
93 | | - PY |
| 104 | + python3 scripts/resolve_nuvio_lab_heads.py \ |
| 105 | + --report health-output/nuvio-client-upstream-status.json \ |
| 106 | + --clients nuvio-desktop \ |
| 107 | + --github-output "$GITHUB_OUTPUT" \ |
| 108 | + --output health-output/nuvio-desktop-lab-head.json |
| 109 | + - name: Publish Nuvio Desktop runtime audit context |
| 110 | + if: always() |
| 111 | + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a |
| 112 | + with: |
| 113 | + name: nuvio-desktop-lab-head-${{ github.run_id }} |
| 114 | + path: | |
| 115 | + health-output/nuvio-client-upstream-status.json |
| 116 | + health-output/nuvio-desktop-lab-head.json |
| 117 | + retention-days: 7 |
| 118 | + if-no-files-found: error |
94 | 119 |
|
95 | 120 | desktop-reader: |
96 | 121 | needs: resolve |
@@ -129,7 +154,7 @@ jobs: |
129 | 154 |
|
130 | 155 | - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c |
131 | 156 |
|
132 | | - - name: Checkout accepted official NuvioDesktop and stage initial route |
| 157 | + - name: Checkout latest official NuvioDesktop HEAD and stage initial route |
133 | 158 | shell: bash |
134 | 159 | env: |
135 | 160 | NUVIO_DESKTOP_SHA: ${{ needs.resolve.outputs.desktop_sha }} |
@@ -162,7 +187,7 @@ jobs: |
162 | 187 | shell: bash |
163 | 188 | run: | |
164 | 189 | set -euxo pipefail |
165 | | - # No test-only --add-opens/JVM privilege relaxation. If accepted |
| 190 | + # No test-only --add-opens/JVM privilege relaxation. If current |
166 | 191 | # NuvioDesktop cannot run under normal JVM policy, record/fix it upstream. |
167 | 192 | ./nuvio-desktop/gradlew -p nuvio-desktop \ |
168 | 193 | :composeApp:buildMacosPlayerBridge \ |
|
0 commit comments