Skip to content

chore: sync uutils/coreutils argument surfaces and integrate new i18n-decimal gate#2161

Merged
chaliy merged 2 commits into
mainfrom
chore/coreutils-args-drift
Jul 13, 2026
Merged

chore: sync uutils/coreutils argument surfaces and integrate new i18n-decimal gate#2161
chaliy merged 2 commits into
mainfrom
chore/coreutils-args-drift

Conversation

@chaliy

@chaliy chaliy commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What changed

Lands the weekly coreutils-args-drift sync plus the integration work the raw regeneration needed to build cleanly.

  • Sync (commit 33f4610, produced by the drift workflow): regenerate argument surfaces and the vendored format module against uutils HEAD.
    • Source revision: 4988134fa (was 39364b6)
    • Utilities: cat ls mktemp od readlink realpath shuf stat tac tee truncate
    • Vendored modules: format
  • Integration (commit 0914be7):
    • format/human.rs now carries #[cfg(feature = "i18n-decimal")]. bashkit has no i18n surface (the port tool hard-errors on Fluent/translate), so the feature is never defined and the gated branch is compiled out. Declared via a [lints.rust] check-cfg in crates/bashkit/Cargo.toml so unexpected_cfgs (denied by -D warnings) stops flagging the vendored code.
    • Added a cargo fmt step over generated/ to coreutils-args-drift.yml so module-mode output (format/, num_parser.rs, extendedbigdecimal.rs) is formatted on every run, and formatted the current output.

Why

After the drift-guard push bug was fixed (#2159), the re-dispatched run pushed this branch successfully, but its CI failed:

  • WASM / Check: error: unexpected 'cfg' condition value: 'i18n-decimal' (-D warnings).
  • Lint: cargo fmt diff on the un-formatted module-mode output.

Both are consequences of upstream drift the pipeline didn't yet handle; this PR handles them durably.

Before / After

Verified locally against this branch's content:

  • Before: cargo build -p bashkit (with -D warnings) → 2 errors on the i18n-decimal cfg; cargo fmt --check → diffs in the module output.
  • After:
    • RUSTFLAGS="-D warnings" cargo build -p bashkitFinished
    • cargo clippy -p bashkit --lib → clean ✅
    • cargo fmt --check → clean ✅
  • Behavior parity for the sync itself was validated by the drift workflow's differential harness (BASHKIT_RUN_COREUTILS_DIFF=1) against uutils 4988134fa.

Risk

  • Medium
  • Generated code (printf/number formatting) re-ported from upstream, plus a boilerplate lint declaration and a workflow fmt step. Mitigated by the differential harness and full CI. The i18n-decimal branch references crate::i18n (absent in bashkit) but is always compiled out since the feature is never enabled.

Checklist

  • Tests added or updated — N/A (generated code; validated by the differential harness)
  • Backward compatibility considered — behavior parity verified against upstream

… modules

Regenerated by `bashkit-coreutils-port` against uutils/coreutils@4988134fa.

Utilities: cat ls mktemp od readlink realpath shuf stat tac tee truncate

Vendored modules: format
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
bashkit 0914be7 Commit Preview URL

Branch Preview URL
Jul 13 2026, 09:52 AM

The uutils HEAD sync pulled two changes that the drift pipeline did not
yet handle:

- format/human.rs now carries `#[cfg(feature = "i18n-decimal")]`. bashkit
  has no i18n surface (the port tool hard-errors on Fluent/translate), so
  the feature is never defined and the gated branch is compiled out.
  Declare it via a [lints.rust] check-cfg so `unexpected_cfgs` (denied by
  -D warnings) stops flagging the vendored code.

- module-mode output (format/, num_parser.rs, extendedbigdecimal.rs) was
  never run through rustfmt; the args step only formats top-level
  generated/*.rs. Add a fmt step over the whole generated/ tree so future
  drift runs stay rustfmt-clean, and format the current output.

Verified locally: cargo build -p bashkit (RUSTFLAGS=-D warnings), cargo
clippy -p bashkit --lib, and cargo fmt --check all pass.
@chaliy chaliy changed the title chore: sync uutils/coreutils argument surfaces and vendored modules chore: sync uutils/coreutils argument surfaces and integrate new i18n-decimal gate Jul 13, 2026
@chaliy chaliy merged commit 0a83297 into main Jul 13, 2026
37 checks passed
@chaliy chaliy deleted the chore/coreutils-args-drift branch July 13, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant