Skip to content

Commit 2d406bb

Browse files
committed
labs: run Desktop readers on latest official Nuvio head
1 parent c175fd4 commit 2d406bb

1 file changed

Lines changed: 36 additions & 11 deletions

File tree

.github/workflows/native-desktop-reader-acceptance.yml

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ on:
1212
- "provider-overrides.json"
1313
- "providers/**"
1414
- "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"
1519
- "scripts/prepare_native_corpus_client.py"
1620
- "scripts/restage_native_corpus_client.py"
1721
- "scripts/augment_native_corpus_request_contract.py"
@@ -39,6 +43,10 @@ on:
3943
- "provider-overrides.json"
4044
- "providers/**"
4145
- "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"
4250
- "scripts/prepare_native_corpus_client.py"
4351
- "scripts/restage_native_corpus_client.py"
4452
- "scripts/augment_native_corpus_request_contract.py"
@@ -70,27 +78,44 @@ concurrency:
7078
jobs:
7179
resolve:
7280
runs-on: ubuntu-latest
73-
timeout-minutes: 5
81+
timeout-minutes: 8
7482
outputs:
7583
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 }}
7686
steps:
7787
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
7888
with:
7989
fetch-depth: 1
8090
persist-credentials: false
8191
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
8299
- id: refs
100+
name: Resolve latest official Desktop client HEAD
83101
shell: bash
84102
run: |
85103
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
94119

95120
desktop-reader:
96121
needs: resolve
@@ -129,7 +154,7 @@ jobs:
129154

130155
- uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
131156

132-
- name: Checkout accepted official NuvioDesktop and stage initial route
157+
- name: Checkout latest official NuvioDesktop HEAD and stage initial route
133158
shell: bash
134159
env:
135160
NUVIO_DESKTOP_SHA: ${{ needs.resolve.outputs.desktop_sha }}
@@ -162,7 +187,7 @@ jobs:
162187
shell: bash
163188
run: |
164189
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
166191
# NuvioDesktop cannot run under normal JVM policy, record/fix it upstream.
167192
./nuvio-desktop/gradlew -p nuvio-desktop \
168193
:composeApp:buildMacosPlayerBridge \

0 commit comments

Comments
 (0)