mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
Finish agent-selection cleanup and restore merge validation (#28607)
* Retire newly translated None option labels * Reserve required verify check for the complete PR gate * Preserve headless default tab styling and stabilize import ordering test * Restore the option mutation clock after crossing fixes * Check both supported workflow extensions
This commit is contained in:
@@ -70,6 +70,7 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
verify:
|
||||
name: Mobile verify
|
||||
if: github.event_name == 'pull_request'
|
||||
# Why ARM: 209s of this job is Vitest and nothing here needs x86: no Android SDK, emulator, gradle,
|
||||
# Hermes or Watchman, no docker, and no artifacts. The Gemfile.lock lists the generic `ruby`
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import { readdirSync, readFileSync } from 'node:fs'
|
||||
import { join } from 'node:path'
|
||||
import { expect, it } from 'vitest'
|
||||
import { parse } from 'yaml'
|
||||
|
||||
it('reserves the required verify check for the full PR gate', () => {
|
||||
const directory = '.github/workflows'
|
||||
const providers = readdirSync(directory)
|
||||
.filter((file) => /\.ya?ml$/.test(file))
|
||||
.flatMap((file) => {
|
||||
const workflow = parse(readFileSync(join(directory, file), 'utf8'))
|
||||
if (!Object.hasOwn(workflow.on ?? {}, 'pull_request')) {
|
||||
return []
|
||||
}
|
||||
return Object.entries(workflow.jobs)
|
||||
.filter(([id, job]) => (job.name ?? id) === 'verify')
|
||||
.map(() => file)
|
||||
})
|
||||
expect(providers).toEqual(['pr.yml'])
|
||||
})
|
||||
@@ -241,8 +241,7 @@ describe('two concurrent imports into one partition', () => {
|
||||
const fileB = writeSource('new-b', '.b.example')
|
||||
|
||||
const first = importCookiesFromFile(fileA, 'persist:concurrency-test')
|
||||
// Let the first import reach its write and block there.
|
||||
await new Promise((resolve) => setTimeout(resolve, 5))
|
||||
await vi.waitFor(() => expect(events).toContain('set:new-a'))
|
||||
const second = importCookiesFromFile(fileB, 'persist:concurrency-test')
|
||||
await new Promise((resolve) => setTimeout(resolve, 20))
|
||||
|
||||
|
||||
@@ -120,8 +120,9 @@ export async function provisionWorktreeTerminals(
|
||||
let setupTerminalHandle: string | null = null
|
||||
let shellSkippedForSetup = false
|
||||
try {
|
||||
const settings = host.getSettings()
|
||||
const setupLaunchMode = settings.setupScriptLaunchMode ?? 'new-tab'
|
||||
const setupLaunchMode = args.setup
|
||||
? (host.getSettings().setupScriptLaunchMode ?? 'new-tab')
|
||||
: 'new-tab'
|
||||
// A cleared creation choice leaves Setup as the only surface; splits still need a shell.
|
||||
const setupOnly =
|
||||
args.setup !== undefined && setupLaunchMode === 'new-tab' && args.setupOnly === true
|
||||
|
||||
Reference in New Issue
Block a user