ci(ssh): run relay selector tests natively

Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
Jinwoo-H
2026-07-15 15:06:41 -04:00
co-authored by Orca
parent 5ae2a505cb
commit d1dda17c87
2 changed files with 21 additions and 0 deletions
@@ -257,6 +257,11 @@ jobs:
node --check config/scripts/ssh-relay-runtime-native-signing-rehearsal-workflow.test.mjs
node --check config/scripts/ssh-relay-runtime-build-prerequisite.test.mjs
pnpm exec vitest run --config config/vitest.config.ts \
src/main/ssh/ssh-relay-artifact-schema.test.ts \
src/main/ssh/ssh-relay-manifest-signature.test.ts \
src/main/ssh/ssh-relay-release-asset.test.ts \
src/main/ssh/ssh-relay-artifact-selector.test.ts \
src/main/ssh/ssh-relay-runtime-identity.test.ts \
config/scripts/ssh-relay-runtime-compatibility.test.mjs \
config/scripts/ssh-relay-node-release-verification.test.mjs \
config/scripts/ssh-relay-node-tar-inspection.test.mjs \
@@ -754,6 +759,11 @@ jobs:
node --check config/scripts/ssh-relay-runtime-build-prerequisite.test.mjs
if ($LASTEXITCODE -ne 0) { throw 'runtime build prerequisite test syntax check failed' }
pnpm exec vitest run --config config/vitest.config.ts `
src/main/ssh/ssh-relay-artifact-schema.test.ts `
src/main/ssh/ssh-relay-manifest-signature.test.ts `
src/main/ssh/ssh-relay-release-asset.test.ts `
src/main/ssh/ssh-relay-artifact-selector.test.ts `
src/main/ssh/ssh-relay-runtime-identity.test.ts `
config/scripts/ssh-relay-runtime-compatibility.test.mjs `
config/scripts/ssh-relay-node-release-verification.test.mjs `
config/scripts/ssh-relay-node-tar-inspection.test.mjs `
@@ -99,6 +99,17 @@ describe('SSH relay runtime artifact workflow', () => {
expect(uploadIndex).toBeGreaterThan(buildIndex)
expect(source).toContain('verify-ssh-relay-runtime.mjs')
expect(source).toContain('ssh-relay-runtime-workflow.test.mjs')
for (const testName of [
'ssh-relay-artifact-schema.test.ts',
'ssh-relay-manifest-signature.test.ts',
'ssh-relay-release-asset.test.ts',
'ssh-relay-artifact-selector.test.ts',
'ssh-relay-runtime-identity.test.ts'
]) {
// Why: portable desktop selection contracts need proof on every native runner family, not
// only the local client architecture or the generic Linux PR job.
expect(source.split(`src/main/ssh/${testName}`)).toHaveLength(3)
}
expect(source).toContain('pnpm install --frozen-lockfile --ignore-scripts')
expect(source).toContain('--connect-timeout 20 --max-time 300 --retry 2')
expect(source).toContain('mkdir -p "$output_root"')