Commit Graph
10474 Commits
Author SHA1 Message Date
Michael Bolin 999f10f9c8 merge commit for archive created by Sapling 2026-03-28 08:40:51 -07:00
Michael Bolin d9411c1b7f build: migrate argument-comment-lint to a native Bazel aspect 2026-03-28 08:40:41 -07:00
Michael Bolin a763f9af48 Merge d6d4dbcfab into sapling-pr-archive-bolinfest 2026-03-28 08:28:11 -07:00
Michael Bolin d6d4dbcfab build: migrate argument-comment-lint to a native Bazel aspect 2026-03-28 08:27:48 -07:00
Michael Bolin fda1ef1b3d Merge acd10385b4 into sapling-pr-archive-bolinfest 2026-03-28 04:52:10 -07:00
Michael Bolin acd10385b4 ci: run argument-comment-lint through bazel package tests 2026-03-28 04:52:07 -07:00
Michael Bolin 82f818672c merge commit for archive created by Sapling 2026-03-28 04:20:28 -07:00
Michael Bolin a4200b969c ci: run argument-comment-lint through bazel package tests 2026-03-28 04:20:22 -07:00
Michael Bolin 803289f29b Merge 1608791b3e into sapling-pr-archive-bolinfest 2026-03-28 03:17:31 -07:00
Michael Bolin 1608791b3e ci: run argument-comment-lint through bazel package tests 2026-03-28 03:17:26 -07:00
Michael Bolin 6afba17422 merge commit for archive created by Sapling 2026-03-28 02:01:04 -07:00
Michael Bolin 335f56b5ed ci: run argument-comment-lint through bazel package tests 2026-03-28 02:00:57 -07:00
Michael Bolin 9bdef62d08 merge commit for archive created by Sapling 2026-03-28 00:52:04 -07:00
Michael Bolin 52e610b8cd ci: run argument-comment-lint through bazel package tests 2026-03-28 00:51:56 -07:00
Michael Bolin 427c2aab5e merge commit for archive created by Sapling 2026-03-28 00:30:36 -07:00
Michael Bolin 4b490357e3 ci: run argument-comment-lint through bazel package tests 2026-03-28 00:30:27 -07:00
Michael Bolin 5359cca1d0 merge commit for archive created by Sapling 2026-03-28 00:20:41 -07:00
Michael Bolin a4ba3d5aaf ci: run argument-comment-lint through bazel package tests 2026-03-28 00:20:35 -07:00
Michael Bolin a502619410 merge commit for archive created by Sapling 2026-03-28 00:00:06 -07:00
Michael Bolin a8ed684959 ci: run argument-comment-lint through bazel package tests 2026-03-27 23:59:59 -07:00
Michael Bolin 3920775a49 merge commit for archive created by Sapling 2026-03-27 23:45:38 -07:00
Michael Bolin a7aab8c17c ci: run argument-comment-lint through bazel package tests 2026-03-27 23:45:31 -07:00
Michael Bolin b2690206ef merge commit for archive created by Sapling 2026-03-27 23:09:15 -07:00
Michael Bolin bb201371db ci: run argument-comment-lint through bazel package tests 2026-03-27 23:09:08 -07:00
Michael Bolin 137f8982b5 merge commit for archive created by Sapling 2026-03-27 22:57:40 -07:00
Michael Bolin be084ba816 ci: run argument-comment-lint through bazel package tests 2026-03-27 22:57:30 -07:00
Michael Bolin 9e3f12b323 merge commit for archive created by Sapling 2026-03-27 22:52:44 -07:00
Michael Bolin 1b73e39ef7 ci: run argument-comment-lint through bazel package tests 2026-03-27 22:52:37 -07:00
Michael Bolin 867615aeba Merge d3e8ab7e44 into sapling-pr-archive-bolinfest 2026-03-27 22:47:38 -07:00
Michael Bolin d3e8ab7e44 ci: run argument-comment-lint through bazel package tests 2026-03-27 22:47:27 -07:00
Michael Bolin 87bfb1d645 merge commit for archive created by Sapling 2026-03-27 22:41:20 -07:00
Michael Bolin 8c200156e5 ci: run argument-comment-lint through bazel package tests 2026-03-27 22:41:05 -07:00
Michael Bolin e5dd2b6bbc merge commit for archive created by Sapling 2026-03-27 22:39:19 -07:00
Michael Bolin ffae2cc58d ci: run argument-comment-lint through bazel package tests 2026-03-27 22:39:07 -07:00
Michael Bolin e39ddc61b1 bazel: add Windows gnullvm stack flags to unit test binaries (#16074)
## Summary

Add the Windows gnullvm stack-reserve flags to the `*-unit-tests-bin`
path in `codex_rust_crate()`.

## Why

This is the narrow code fix behind the earlier review comment on
[#16067](https://github.com/openai/codex/pull/16067). That comment was
stale relative to the workflow-only PR it landed on, but it pointed at a
real gap in `defs.bzl`.

Today, `codex_rust_crate()` already appends
`WINDOWS_GNULLVM_RUSTC_STACK_FLAGS` for:

- `rust_binary()` targets
- integration-test `rust_test()` targets

But the unit-test binary path still omitted those flags. That meant the
generated `*-unit-tests-bin` executables were not built the same way as
the rest of the Windows gnullvm executables in the macro.

## What Changed

- Added `WINDOWS_GNULLVM_RUSTC_STACK_FLAGS` to the `unit_test_binary`
`rust_test()` rule in `defs.bzl`
- Added a short comment explaining why unit-test binaries need the same
stack-reserve treatment as binaries and integration tests on Windows
gnullvm

## Testing

- `bazel query '//codex-rs/core:*'`
- `bazel query '//codex-rs/shell-command:*'`

Those queries load packages that exercise `codex_rust_crate()`,
including `*-unit-tests-bin` targets. The actual runtime effect is
Windows-specific, so the real end-to-end confirmation still comes from
Windows CI.
2026-03-27 22:11:49 -07:00
Michael Bolin 0bfe9772b5 Merge 44667f3544 into sapling-pr-archive-bolinfest 2026-03-27 21:20:47 -07:00
Michael Bolin ef14b723ef Merge 7cd1c93e3c into sapling-pr-archive-bolinfest 2026-03-27 21:18:16 -07:00
Michael Bolin 7cd1c93e3c bazel: add Windows gnullvm stack flags to unit test binaries 2026-03-27 21:18:04 -07:00
Michael Bolin 44667f3544 permissions: start using PermissionProfile as the canonical runtime model 2026-03-27 21:17:49 -07:00
Michael Bolin 7590d061bd Merge 7eced5c566 into sapling-pr-archive-bolinfest 2026-03-27 21:08:24 -07:00
Michael Bolin 7eced5c566 stabilize zsh-fork approvals and resume --last 2026-03-27 21:08:16 -07:00
Michael Bolin b94366441e ci: split fast PR Rust CI from full post-merge Cargo CI (#16072)
## Summary

Split the old all-in-one `rust-ci.yml` into:

- a PR-time Cargo workflow in `rust-ci.yml`
- a full post-merge Cargo workflow in `rust-ci-full.yml`

This keeps the PR path focused on fast Cargo-native hygiene plus the
Bazel `build` / `test` / `clippy` coverage in `bazel.yml`, while moving
the heavyweight Cargo-native matrix to `main`.

## Why

`bazel.yml` is now the main Rust verification workflow for pull
requests. It already covers the Bazel build, test, and clippy signal we
care about pre-merge, and it also runs on pushes to `main` to re-verify
the merged tree and help keep the BuildBuddy caches warm.

What was still missing was a clean split for the Cargo-native checks
that Bazel does not replace yet. The old `rust-ci.yml` mixed together:

- fast hygiene checks such as `cargo fmt --check` and `cargo shear`
- `argument-comment-lint`
- the full Cargo clippy / nextest / release-build matrix

That made every PR pay for the full Cargo matrix even though most of
that coverage is better treated as post-merge verification. The goal of
this change is to leave PRs with the checks we still want before merge,
while moving the heavier Cargo-native matrix off the review path.

## What Changed

- Renamed the old heavyweight workflow to `rust-ci-full.yml` and limited
it to `push` on `main` plus `workflow_dispatch`.
- Added a new PR-only `rust-ci.yml` that runs:
  - changed-path detection
  - `cargo fmt --check`
  - `cargo shear`
  - `argument-comment-lint` on Linux, macOS, and Windows
- `tools/argument-comment-lint` package tests when the lint itself or
its workflow wiring changes
- Kept the PR workflow's gatherer as the single required Cargo-native
status so branch protection can stay simple.
- Added `.github/workflows/README.md` to document the intended split
between `bazel.yml`, `rust-ci.yml`, and `rust-ci-full.yml`.
- Preserved the recent Windows `argument-comment-lint` behavior from
`e02fd6e1d3` in `rust-ci-full.yml`, and mirrored cross-platform lint
coverage into the PR workflow.

A few details are deliberate:

- The PR workflow still keeps the Linux lint lane on the
default-targets-only invocation for now, while macOS and Windows use the
broader released-linter path.
- This PR does not change `bazel.yml`; it changes the Cargo-native
workflow around the existing Bazel PR path.

## Testing

- Rebasing this change onto `main` after `e02fd6e1d3`
- `ruby -e 'require "yaml"; %w[.github/workflows/rust-ci.yml
.github/workflows/rust-ci-full.yml .github/workflows/bazel.yml].each {
|f| YAML.load_file(f) }'`
2026-03-27 21:08:08 -07:00
Michael Bolin 2e052c35c4 merge commit for archive created by Sapling 2026-03-27 20:57:07 -07:00
Michael Bolin a58428ae46 ci: split fast PR Rust CI from full post-merge Cargo CI 2026-03-27 20:56:55 -07:00
Michael Bolin 381cbe2613 Merge 83f2a4ca15 into sapling-pr-archive-bolinfest 2026-03-27 20:52:53 -07:00
Michael Bolin 83f2a4ca15 ci: split fast PR Rust CI from full post-merge Cargo CI 2026-03-27 20:52:30 -07:00
Michael Bolin e02fd6e1d3 fix: clean up remaining Windows argument-comment-lint violations (#16071)
## Why

The initial `argument-comment-lint` rollout left Windows on
default-target coverage because there were still Windows-only callsites
failing under `--all-targets`. This follow-up cleans up those remaining
Windows-specific violations so the Windows CI lane can enforce the same
stricter coverage, leaving Linux as the remaining platform-specific
follow-up.

## What changed

- switched the Windows `rust-ci` argument-comment-lint step back to the
default wrapper invocation so it runs full-target coverage again
- added the required `/*param_name*/` annotations at Windows-gated
literal callsites in:
  - `codex-rs/windows-sandbox-rs/src/lib.rs`
  - `codex-rs/windows-sandbox-rs/src/elevated_impl.rs`
  - `codex-rs/tui_app_server/src/multi_agents.rs`
  - `codex-rs/network-proxy/src/proxy.rs`

## Validation

- Windows `argument comment lint` CI on this PR
2026-03-27 20:48:21 -07:00
Michael Bolin f4d0cbfda6 ci: run Bazel clippy on Windows gnullvm (#16067)
## Why

We want more of the pre-merge Rust signal to come from `bazel.yml`,
especially on Windows. The Bazel test workflow already exercises
`x86_64-pc-windows-gnullvm`, but the Bazel clippy job still only ran on
Linux x64 and macOS arm64. That left a gap where Windows-only Bazel lint
breakages could slip through until the Cargo-based workflow ran.

This change keeps the fix narrow. Rather than expanding the Bazel clippy
target set or changing the shared setup logic, it extends the existing
clippy matrix to the same Windows GNU toolchain that the Bazel test job
already uses.

## What Changed

- add `windows-latest` / `x86_64-pc-windows-gnullvm` to the `clippy` job
matrix in `.github/workflows/bazel.yml`
- update the nearby workflow comment to explain that the goal is to get
Bazel-native Windows lint coverage on the same toolchain as the Bazel
test lane
- leave the Bazel clippy scope unchanged at `//codex-rs/...
-//codex-rs/v8-poc:all`

## Verification

- parsed `.github/workflows/bazel.yml` successfully with Ruby
`YAML.load_file`
2026-03-27 20:47:22 -07:00
Michael Bolin 23c5e3dec9 Merge a667068f8d into sapling-pr-archive-bolinfest 2026-03-27 20:37:25 -07:00
Michael Bolin a667068f8d ci: add Windows Bazel clippy lane 2026-03-27 20:37:07 -07:00