Skip to content

Commit ee14eae

Browse files
committed
Add native Windows client compilation gate
1 parent 1247440 commit ee14eae

3 files changed

Lines changed: 81 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Windows client source
2+
3+
'on':
4+
push:
5+
paths:
6+
- 'apps/client/**'
7+
- 'Cargo.toml'
8+
- 'Cargo.lock'
9+
- 'rust-toolchain.toml'
10+
- '.github/workflows/windows-source.yml'
11+
pull_request:
12+
paths:
13+
- 'apps/client/**'
14+
- 'Cargo.toml'
15+
- 'Cargo.lock'
16+
- 'rust-toolchain.toml'
17+
- '.github/workflows/windows-source.yml'
18+
workflow_dispatch:
19+
20+
permissions:
21+
contents: read
22+
23+
concurrency:
24+
group: windows-source-${{ github.ref }}
25+
cancel-in-progress: true
26+
27+
jobs:
28+
client:
29+
runs-on: windows-2025
30+
timeout-minutes: 30
31+
env:
32+
CARGO_BUILD_JOBS: '2'
33+
CARGO_PROFILE_DEV_DEBUG: '0'
34+
CARGO_PROFILE_TEST_DEBUG: '0'
35+
steps:
36+
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
37+
with:
38+
persist-credentials: false
39+
- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
40+
with:
41+
node-version: '26.11.1'
42+
cache: npm
43+
cache-dependency-path: apps/client/package-lock.json
44+
- name: Record actual Windows build environment
45+
run: |
46+
[System.Environment]::OSVersion.VersionString
47+
[System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
48+
rustup show active-toolchain
49+
- name: Prepare bundled frontend
50+
run: |
51+
npm --prefix apps/client ci
52+
npm --prefix apps/client run build
53+
- name: Build actual Windows client with bundled assets
54+
run: cargo build --locked -p vmanyware-client --features tauri/custom-protocol

‎STATE.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7116,3 +7116,19 @@ credential operations occurred. No unrelated application test suite was rerun.
71167116
Scoped server library/test Clippy with warnings denied and cargo fmt check pass
71177117
(`.lab/native-deps/snapshot-schema-clippy.log`); diff review passes. Next CI result
71187118
is pending push/observation, not assumed green.
7119+
7120+
7121+
## 2026-10-23 — Windows native compilation gate
7122+
7123+
Scope/acceptance: establish actual Windows compilation evidence for the existing
7124+
client before expanding its unsupported SSH/store boundary. Added a path-filtered
7125+
Windows client source workflow using standard windows-2025 x64, existing pinned
7126+
checkout/setup-node actions, read-only permissions, two Cargo jobs, debug symbols
7127+
disabled and a 30-minute limit. It records Windows/architecture/Rust, builds locked
7128+
frontend dependencies and the actual Tauri executable with bundled assets. No
7129+
app launch, credential operation, custom VM, installer or parity claim. GitHub's
7130+
official runner reference confirms windows-2025 is a standard public x64 label.
7131+
Workflow diff reviewed; execution is pending push/observation. No local application
7132+
suite repeated for this CI-only change. Next: observe Windows build and correct
7133+
actual target-specific failures. Local checks 40030173686 for 1247440 is in progress;
7134+
continue observing its handle, not restarting. Android approval is unchanged.

‎docs/platforms.md‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@ observed. Runtime/OS prompts, signing identity, locked store, isolated keychain
6161
roundtrip and system-source SSH still need a real approved macOS target. Neither
6262
metadata compilation nor a native build closes these gates. See ADR 0090.
6363

64+
## Windows compilation baseline — 2026-10-23
65+
66+
The path-filtered `Windows client source` workflow targets the standard
67+
`windows-2025` x64 runner with the repository-pinned Rust/Node versions. It builds
68+
the actual Tauri client and bundled frontend using `tauri/custom-protocol`, without
69+
launching the app, installing it or accessing a credential store. Workflow
70+
preparation alone is not compilation evidence; the observed result is in STATE.md.
71+
SSH, encrypted application identities and OS-backed secret storage still report
72+
unsupported on Windows. A successful build does not establish those capabilities,
73+
GUI/runtime behavior, signed installers or release support.
74+
6475
## Reproduce the current development checks
6576

6677
| Tool | Tested version/configuration |

0 commit comments

Comments
 (0)