name: Windows Agent Adapters on: pull_request: paths: - "packages/agent/daemon/**" push: branches: - main paths: - "packages/agent/daemon/**" workflow_dispatch: concurrency: group: windows-agent-adapters-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: contents: read env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: test-adapters: name: Test Windows agent adapters runs-on: windows-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v6 - name: Setup Go uses: actions/setup-go@v6 with: go-version: "1.24.5" cache-dependency-path: | go.work go.work.sum packages/agent/daemon/go.mod packages/agent/daemon/go.sum - name: Setup Node uses: actions/setup-node@v6 with: node-version: "24" - name: Install pinned Codex app-server contract binary shell: pwsh run: | $ErrorActionPreference = 'Stop' $contractRoot = Join-Path $env:RUNNER_TEMP 'tutti-codex-contract' npm install --prefix $contractRoot --no-save --no-audit --no-fund --include=optional @openai/codex@0.147.0 $binaries = @(Get-ChildItem -Path $contractRoot -Recurse -Filter codex.exe) if ($binaries.Count -ne 1) { throw "Expected one native codex.exe, found $($binaries.Count)" } "TUTTI_CODEX_APP_SERVER_CONTRACT_BIN=$($binaries[0].FullName)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Test Windows agent process adapters shell: pwsh run: | $ErrorActionPreference = 'Stop' $PSNativeCommandUseErrorActionPreference = $true Push-Location packages/agent/daemon go test ./runtime ./runtimecmd -run 'Test(RunVerifiedExecutableUsesVerifiedIdentity|RunVerifiedNodeScriptBoundedExecutesVerifiedScript|VerifiedNodeScriptRunnerExecutesLockedSnapshot|VerifiedNodeScriptRunnerReusesLockedSnapshotAcrossRunsAndRestart|VerifiedNodeScriptRunnerCancelsBeforeSnapshotConstruction|PrepareProcessExecutableExecutesVerifiedDescriptorAfterPathReplacement|LocalProcessTransportUsesWindowsEnvironmentKeySemantics|ResolverResolveAllReturnsEveryExecutableMatchInPathOrder|ResolverResolveAllNamesKeepsDirectoryOrderBeforeLauncherVariant|ResolveNPMGlobalLayoutUsesPrefixRootForWindowsShims|ResolverFindsWindowsNPMGlobalShim|CodexAppServerWindowsTurnStartContract)$' -count=1 Pop-Location