From 0bca2045553093fe22b757e7d849c81ef1b59c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20=F0=9F=91=A8=F0=9F=8F=BD=E2=80=8D=F0=9F=92=BB=20Copl?= =?UTF-8?q?an?= Date: Thu, 15 Oct 2026 15:08:59 -0700 Subject: [PATCH 1/2] fix(ci): disable failing Mononoke Linux workflow on push/PR ### Problem Commit 5027662fb30b ("github: disable failing GitHub CI on push") disabled `.github/workflows/mononoke_linux.yml` on `push` and `pull_request` by setting `on: workflow_dispatch`. Five days later, commit 794e05bd3c9c regenerated the GitHub Actions workflows and overwrote `.github/workflows/mononoke_linux.yml` back to running on `push` and `pull_request`. Because `build/fbcode_builder/manifests/mononoke` pins `rust_version = 1.91` while unpinned transitive crates (`aws-config@1.12.0`, etc.) now require `rustc 1.94.1`, the workflow fails on every push and pull request. ### Solution Restore `on: workflow_dispatch` in `.github/workflows/mononoke_linux.yml` (matching `edenfs_linux.yml`, `mononoke_mac.yml`, and `mononoke-integration_linux.yml`). Closes #1473 Co-Authored-By: Gemini 4 Argon --- .github/workflows/mononoke_linux.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/mononoke_linux.yml b/.github/workflows/mononoke_linux.yml index 2f0538007ba1f..23f14dafbf074 100644 --- a/.github/workflows/mononoke_linux.yml +++ b/.github/workflows/mononoke_linux.yml @@ -8,12 +8,7 @@ name: Mononoke Linux on: - push: - branches: - - main - pull_request: - branches: - - main + workflow_dispatch permissions: contents: read # to fetch code (actions/checkout) From 86b490af058b8ea7fce795cf0cadd013447e166b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Max=20=F0=9F=91=A8=F0=9F=8F=BD=E2=80=8D=F0=9F=92=BB=20Copl?= =?UTF-8?q?an?= Date: Mon, 31 Aug 2026 17:08:16 -0700 Subject: [PATCH 2/2] fix(oss-build): allow nightly features on stable via RUSTC_BOOTSTRAP `make oss` failed on stable Rust 1.97.1 with: ```text error[E0554]: #![feature] may not be used on stable --> smallvec-1.15.2/src/lib.rs:95: specialization and 8 crates using #![feature(once_cell_try)] ``` ### Problem * Buck builds use a nightly toolchain internally and support these features. * Cargo OSS builds use stable `rustc` by default. * `Cargo.toml` files are `@generated` by `autocargo` from `BUCK` files, so they should not be hand-edited to remove features. ### Solution Setting `RUSTC_BOOTSTRAP=1` in `build.py`'s `cargo_env` allows stable `cargo`/`rustc` to accept these nightly features without requiring users to install a nightly toolchain or override toolchain defaults. Fixes: `cd eden/scm && make -j oss` Closes #1471 Co-Authored-By: Gemini 3.8 Flash --- eden/scm/build.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eden/scm/build.py b/eden/scm/build.py index e5bc3576ee3b7..f48eb6141fcad 100755 --- a/eden/scm/build.py +++ b/eden/scm/build.py @@ -461,6 +461,9 @@ def cargo_env(args): env["OPENSSL_DIR"] = str(openssl) env.pop("OPENSSL_STATIC", None) env["RUSTFLAGS"] = (env.get("RUSTFLAGS", "") + " -Anon_local_definitions").strip() + # Allow nightly features (smallvec specialization, once_cell_try) on stable Rust. + # Required for `make oss` / cargo oss builds. Buck builds use nightly toolchain internally. + env.setdefault("RUSTC_BOOTSTRAP", "1") set_windows_python_path(env, args.python) return env