mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 09:27:29 +00:00
* Bound every pull request CI job with timeout-minutes * ci: bound the PR-triggered jobs added since #28784 with timeout-minutes Sized from recent run times: containers 1.2 min max, mac-native-owner-smoke 5.5, contract 1.2. Secret scan (1.8 max) and mobile_web_app (5.4 max) get roomier limits. * ci: check PR job time limits in code_paths so workflow-only PRs are covered A PR that changes only mobile.yml or cloud-verify.yml skips the root unit shards, so the timeout test never ran for it. Run the check from code_paths, which runs on every PR, as check-required-pr-context already does. * ci: use a uniform 3h ceiling on newly bounded PR jobs to stop runaway jobs The goal is only to stop jobs that would otherwise run to GitHub's 6h default, not to tune per-job limits. The guard keeps requiring a limit below 360 minutes on every PR job but no longer enforces a lower value. --------- Co-authored-by: Kelvin Amoaba <97001695+AmoabaKelvin@users.noreply.github.com> Co-authored-by: Neil <neil@stably.ai>
66 lines
2.8 KiB
YAML
66 lines
2.8 KiB
YAML
name: Computer-use macOS native
|
|
|
|
# Split from computer-e2e.yml so CLI/daemon-only PRs skip the macOS runner: this job builds the
|
|
# Swift helper and forks out/main/computer-sidecar.js, whose imports never reach src/cli or src/main/daemon.
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, ready_for_review, converted_to_draft]
|
|
paths:
|
|
- '.github/workflows/computer-macos-native.yml'
|
|
- 'electron.vite.config.ts'
|
|
- 'config/build-plugins/**'
|
|
- 'config/scripts/native-build/macos/build-computer-macos.mjs'
|
|
- 'config/scripts/native-build/composition/build-native-for-platform.mjs'
|
|
- 'config/scripts/native-build/composition/build-native-for-platform.test.mjs'
|
|
- 'config/scripts/tool-invocation/pnpm-cli-invocation.mjs'
|
|
- 'config/scripts/macos-computer-helper-owner-loss-*'
|
|
- 'config/scripts/runtime-verification/desktop-transport/verify-computer-native.mjs'
|
|
- 'native/computer-use-macos/**'
|
|
- 'native/computer-use-linux/**'
|
|
- 'native/computer-use-windows/**'
|
|
- 'skills/orca-computer-use/SKILL.md'
|
|
- 'src/main/computer/**'
|
|
- 'src/shared/computer-use-*.ts'
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 6 * * *'
|
|
|
|
concurrency:
|
|
group: computer-macos-native-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
# Hosted macOS runners cannot receive persistent Accessibility/Screen Recording
|
|
# grants. Keep the real native build/owner-loss checks on every matching trigger instead.
|
|
mac-native-owner-smoke:
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.draft != true
|
|
runs-on: macos-15
|
|
timeout-minutes: 180
|
|
permissions:
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
persist-credentials: false
|
|
- uses: ./.github/actions/install-node-dependencies
|
|
with:
|
|
native-runtime: electron
|
|
- name: Owner-loss benchmark process cleanup
|
|
run: >-
|
|
pnpm vitest run
|
|
config/scripts/performance/macos-computer-owner/macos-computer-helper-owner-loss-group-recovery.test.mjs
|
|
config/scripts/performance/macos-computer-owner/macos-computer-helper-owner-loss-processes.test.mjs
|
|
# Why: the parallel launcher's cancellation tests are darwin-only and no
|
|
# other PR job runs on macOS.
|
|
- name: Parallel native build launcher cancellation
|
|
run: >-
|
|
pnpm vitest run --config config/vitest.config.ts
|
|
config/scripts/native-build/composition/build-native-for-platform.test.mjs
|
|
- name: Authenticated helper owner-loss smoke
|
|
run: pnpm bench:macos-computer-helper-owner-loss --expect reaped --trials 1
|
|
- name: Swift tests and signed universal helper verification
|
|
run: pnpm verify:computer-native
|