Commit Graph

14924 Commits

Author SHA1 Message Date
Michael Bolin
61bbdd641e Merge b9bd244b79 into sapling-pr-archive-bolinfest 2026-05-05 17:17:30 -07:00
Michael Bolin
b9bd244b79 npm: bundle standalone bwrap on Linux 2026-05-05 17:17:20 -07:00
Michael Bolin
1e107d6acc Merge f08db3b767 into sapling-pr-archive-bolinfest 2026-05-05 17:15:58 -07:00
Michael Bolin
f08db3b767 npm: bundle standalone bwrap on Linux 2026-05-05 17:15:50 -07:00
Michael Bolin
3ec18a2c0a release: publish standalone bwrap artifacts (#21256)
**Summary**
- Build Linux `bwrap` before the main release binaries.
- Export the release `bwrap` SHA-256 as `CODEX_BWRAP_SHA256` so the
Codex binary can verify the bundled fallback.
- Sign, stage, and upload `bwrap` alongside the primary Linux release
artifacts.

**Verification**
- YAML parse check for `.github/workflows/rust-release.yml`











---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/21256).
* #21257
* __->__ #21256
2026-05-05 17:15:46 -07:00
Michael Bolin
d9f06872c4 Merge ef87537fe4 into sapling-pr-archive-bolinfest 2026-05-05 17:15:11 -07:00
Michael Bolin
ef87537fe4 npm: bundle standalone bwrap on Linux 2026-05-05 17:14:56 -07:00
Michael Bolin
3e3e3935b3 release: publish standalone bwrap artifacts 2026-05-05 17:14:56 -07:00
Michael Bolin
26f355b67b linux-sandbox: use standalone bundled bwrap (#21255)
**Summary**
- Add `codex-bwrap`, a standalone `bwrap` binary built from the existing
vendored bubblewrap sources.
- Remove the linked vendored bwrap path from `codex-linux-sandbox`;
runtime now prefers system `bwrap` and falls back to bundled
`codex-resources/bwrap`.
- Add bundled SHA-256 verification with missing/all-zero digest as the
dev-mode skip value, then exec the verified file through
`/proc/self/fd`.
- Keep `launcher.rs` focused on choosing and dispatching the preferred
launcher. Bundled lookup, digest verification, and bundled exec now live
in `linux-sandbox/src/bundled_bwrap.rs`; Bazel runfiles lookup lives in
`linux-sandbox/src/bazel_bwrap.rs`; shared argv/fd exec helpers live in
`linux-sandbox/src/exec_util.rs`.
- Teach Bazel tests to surface the Bazel-built `//codex-rs/bwrap:bwrap`
through `CARGO_BIN_EXE_bwrap`; `codex-linux-sandbox` only honors that
fallback in debug Bazel runfiles environments so release/user runtime
lookup stays tied to `codex-resources/bwrap`.
- Allow `codex-exec-server` filesystem helpers to preserve just the
Bazel bwrap/runfiles variables they need in debug Bazel builds, since
those helpers intentionally rebuild a small environment before spawning
`codex-linux-sandbox`.
- Verify the Bazel bwrap target in Linux release CI with a build-only
check. Running `bwrap --version` is too strong for GitHub runners
because bubblewrap still attempts namespace setup there.

**Verification**
- Latest update: `cargo test -p codex-linux-sandbox`
- Latest update: `just fix -p codex-linux-sandbox`
- `cargo check --target x86_64-unknown-linux-gnu -p codex-linux-sandbox`
could not run locally because this macOS machine does not have
`x86_64-linux-gnu-gcc`; GitHub Linux Bazel CI is expected to cover the
Linux-only modules.
- Earlier in this PR: `cargo test -p codex-bwrap`
- Earlier in this PR: `cargo test -p codex-exec-server`
- Earlier in this PR: `cargo check --release -p codex-exec-server`
- Earlier in this PR: `just fix -p codex-linux-sandbox -p
codex-exec-server`
- Earlier in this PR: `bazel test --nobuild
//codex-rs/linux-sandbox:linux-sandbox-all-test
//codex-rs/core:core-all-test
//codex-rs/exec-server:exec-server-file_system-test
//codex-rs/app-server:app-server-all-test` (analysis completed; Bazel
then refuses to run tests under `--nobuild`)
- Earlier in this PR: `bazel build --nobuild //codex-rs/bwrap:bwrap`
- Prior to this update: `just bazel-lock-update`, `just
bazel-lock-check`, and YAML parse check for
`.github/workflows/bazel.yml`


---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/21255).
* #21257
* #21256
* __->__ #21255
2026-05-05 17:14:29 -07:00
Channing Conger
03d3403a41 ci: trigger rusty-v8 releases from tags (#21259)
Swap to tag based releasing and allow tags of type `rusty-v8-v*.*.*`
2026-05-05 16:56:43 -07:00
Owen Lin
d7de4dd3ac chore(app-server-protocol): split v2 API definitions into modules (#21251)
## Why

`codex-rs/app-server-protocol/src/protocol/v2.rs` had grown into a
single ~12k-line definition file for the entire app-server v2 API.

This is purely a mechanical refactor to break up the monolithic `v2.rs`
file that contains all app-server API v2 types into more modular files,
grouped by resource (e.g. account, thread, turn, etc.).

`just write-app-server-schema` shows no real changes, so we can be sure
that this is purely an internal organizational change.

## What changed

- Replaced the monolithic `protocol/v2.rs` with a `protocol/v2/` module
tree and a small `mod.rs` that only declares and reexports modules.
- Grouped v2 API definitions by conceptual owner, including `account`,
`apps`, `collaboration_mode`, `command_exec`, `config`, `device_key`,
`experimental_feature`, `feedback`, `fs`, `hook`, `item`, `mcp`,
`model`, `notification`, `permissions`, `plugin`, `process`, `realtime`,
`review`, `thread`, `thread_data`, `turn`, and `windows_sandbox`.
- Moved v2 tests into `protocol/v2/tests.rs` so `mod.rs` stays small.
- Kept shared protocol helpers in `protocol/v2/shared.rs`, including the
enum mirroring macro and common cross-resource types.
- Co-located resource-specific notifications and server-request payloads
with the modules that own those resources.
- Regenerated app-server protocol schema fixtures. The schema diffs are
non-semantic newline-only changes after the refactor.

## Verification

- `cargo check -p codex-app-server-protocol`
- `cargo test -p codex-app-server-protocol`
- `just write-app-server-schema`
2026-05-05 16:46:51 -07:00
Michael Bolin
8201c91846 merge commit for archive created by Sapling 2026-05-05 16:34:51 -07:00
Michael Bolin
4912a1f26c npm: bundle standalone bwrap on Linux 2026-05-05 16:34:41 -07:00
Michael Bolin
f7eb9d90e3 release: publish standalone bwrap artifacts 2026-05-05 16:34:41 -07:00
Michael Bolin
2aa43ecc9a linux-sandbox: use standalone bundled bwrap 2026-05-05 16:34:41 -07:00
Michael Bolin
2196d2790f merge commit for archive created by Sapling 2026-05-05 16:27:02 -07:00
Michael Bolin
0661b5fa3d npm: bundle standalone bwrap on Linux 2026-05-05 16:26:30 -07:00
Michael Bolin
14c1da7441 release: publish standalone bwrap artifacts 2026-05-05 16:26:30 -07:00
Michael Bolin
f1dbc71e45 linux-sandbox: use standalone bundled bwrap 2026-05-05 16:26:30 -07:00
Michael Bolin
3ebff23711 Merge 1cf571b200 into sapling-pr-archive-bolinfest 2026-05-05 16:25:43 -07:00
Michael Bolin
1cf571b200 Move workspace roots onto thread/session state and stop using active permission profile modifications as an overlay for writable roots. Existing app-server threads now preserve their persisted PermissionProfile value across resume, fork, and turn updates; permissions requests on existing threads only update the active named profile after validating it exists. Workspace roots can be updated independently, and SandboxPolicy::WorkspaceWrite no longer stores its own writable_roots. 2026-05-05 16:25:36 -07:00
Michael Bolin
5a3457adf7 Merge 3c80d7da71 into sapling-pr-archive-bolinfest 2026-05-05 16:13:24 -07:00
Michael Bolin
3c80d7da71 npm: bundle standalone bwrap on Linux 2026-05-05 16:13:10 -07:00
Michael Bolin
236dec2624 release: publish standalone bwrap artifacts 2026-05-05 16:13:10 -07:00
Michael Bolin
74039c1cbc linux-sandbox: use standalone bundled bwrap 2026-05-05 16:13:10 -07:00
Michael Bolin
4ae685418a merge commit for archive created by Sapling 2026-05-05 16:07:28 -07:00
Michael Bolin
9537f26268 npm: bundle standalone bwrap on Linux 2026-05-05 16:06:53 -07:00
Michael Bolin
0010611d3a release: publish standalone bwrap artifacts 2026-05-05 16:06:53 -07:00
Michael Bolin
1a8cae26af linux-sandbox: use standalone bundled bwrap 2026-05-05 16:06:53 -07:00
Michael Bolin
332b8b2c74 fix build (#21261)
I believe a merge race in https://github.com/openai/codex/pull/20689
broke the build, so this is a quick fix.

`cargo check --tests` passed locally.
2026-05-05 16:02:06 -07:00
Michael Bolin
50e71e275c Merge b450042d45 into sapling-pr-archive-bolinfest 2026-05-05 16:01:50 -07:00
Michael Bolin
b450042d45 Move workspace roots onto thread/session state and stop using active permission profile modifications as an overlay for writable roots. Existing app-server threads now preserve their persisted PermissionProfile value across resume, fork, and turn updates; permissions requests on existing threads only update the active named profile after validating it exists. Workspace roots can be updated independently, and SandboxPolicy::WorkspaceWrite no longer stores its own writable_roots. 2026-05-05 16:01:43 -07:00
Michael Bolin
8384ab5cd4 Merge 2d8e9c99f2 into sapling-pr-archive-bolinfest 2026-05-05 15:58:15 -07:00
Michael Bolin
2d8e9c99f2 fix build 2026-05-05 15:58:05 -07:00
Michael Bolin
f9b489543c merge commit for archive created by Sapling 2026-05-05 15:55:12 -07:00
Michael Bolin
023f8b5a6a npm: bundle standalone bwrap on Linux 2026-05-05 15:54:54 -07:00
Michael Bolin
e8ae0816fd release: publish standalone bwrap artifacts 2026-05-05 15:54:54 -07:00
Michael Bolin
ad6216b5d3 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:54:54 -07:00
Michael Bolin
a4bb052e1c Merge 9630e3613a into sapling-pr-archive-bolinfest 2026-05-05 15:49:46 -07:00
Michael Bolin
9630e3613a npm: bundle standalone bwrap on Linux 2026-05-05 15:49:38 -07:00
Michael Bolin
3ef40b7282 release: publish standalone bwrap artifacts 2026-05-05 15:49:38 -07:00
Michael Bolin
84fadf8959 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:49:38 -07:00
Michael Bolin
58c174bb55 merge commit for archive created by Sapling 2026-05-05 15:38:30 -07:00
Michael Bolin
e4e09fd081 npm: bundle standalone bwrap on Linux 2026-05-05 15:38:23 -07:00
Michael Bolin
638222a909 release: publish standalone bwrap artifacts 2026-05-05 15:38:23 -07:00
Michael Bolin
1d58319bf8 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:38:23 -07:00
Michael Bolin
f3bd568a05 merge commit for archive created by Sapling 2026-05-05 15:35:13 -07:00
Michael Bolin
f301b2d3ba npm: bundle standalone bwrap on Linux 2026-05-05 15:34:51 -07:00
Michael Bolin
07d262749d release: publish standalone bwrap artifacts 2026-05-05 15:34:51 -07:00
Michael Bolin
6e7259e822 linux-sandbox: use standalone bundled bwrap 2026-05-05 15:34:51 -07:00