mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture
45 lines
2.4 KiB
YAML
45 lines
2.4 KiB
YAML
name: Prepare the orcad Windows CLI launcher
|
|
description: Compiles native/windows-cli-launcher for each requested arch into .build/windows-cli-launcher/<arch>/orca.exe.
|
|
|
|
inputs:
|
|
arches:
|
|
description: Space-separated Windows architectures (x64, arm64).
|
|
required: true
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Resolve the Windows Rust build scope
|
|
id: rust-scope
|
|
if: runner.os == 'Windows'
|
|
shell: bash
|
|
run: node config/scripts/native-build/windows/windows-rust-build-scope.mjs >> "$GITHUB_OUTPUT"
|
|
|
|
# Source globs, not crate/**: target/ and .build/ can already exist when this key is computed.
|
|
# Real inputs only: older restores are safe because the build re-checks each exe's fingerprint.
|
|
- name: Cache the Windows CLI launcher builds
|
|
if: runner.os == 'Windows'
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: |
|
|
.build/windows-cli-launcher
|
|
native/windows-cli-launcher/target
|
|
~/.cargo/registry
|
|
key: orcad-windows-cli-launcher-v2-${{ runner.arch }}-${{ inputs.arches }}-${{ steps.rust-scope.outputs.toolchain }}-${{ steps.rust-scope.outputs.app-version }}-${{ hashFiles('native/windows-cli-launcher/src/**', 'native/windows-cli-launcher/build.rs', 'native/windows-cli-launcher/Cargo.toml', 'native/windows-cli-launcher/Cargo.lock', 'native/windows-cli-launcher/app.manifest', 'native/windows-cli-launcher/.cargo/**', 'config/scripts/native-build/windows/build-windows-cli-launcher.mjs', 'config/scripts/native-build/windows/windows-rust-executable-build.mjs', 'config/scripts/native-build/windows/windows-pe-imports.mjs', 'resources/build/icon.ico') }}
|
|
restore-keys: |
|
|
orcad-windows-cli-launcher-v2-${{ runner.arch }}-${{ inputs.arches }}-${{ steps.rust-scope.outputs.toolchain }}-
|
|
|
|
- name: Build the launcher for each architecture
|
|
if: runner.os == 'Windows'
|
|
shell: pwsh
|
|
env:
|
|
ARCHES: ${{ inputs.arches }}
|
|
run: |
|
|
$triples = @{ x64 = 'x86_64-pc-windows-msvc'; arm64 = 'aarch64-pc-windows-msvc' }
|
|
foreach ($arch in ($env:ARCHES -split ' ' | Where-Object { $_ })) {
|
|
rustup target add $triples[$arch]
|
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
node config/scripts/native-build/windows/build-windows-cli-launcher.mjs --arch $arch --output ".build/windows-cli-launcher/$arch/orca.exe"
|
|
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
|
|
}
|