Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
fe8c6d8
Don't panic when a finished compile has neither code nor signal
jetm Jun 19, 2026
75a3894
Bundle relocated interpreter's libdir into the dist toolchain package
jetm Jun 19, 2026
a6cc588
compiler/gcc: fix distributed compile of relative input paths
jetm Jun 23, 2026
b94b293
compiler: log distributed-compile decisions at info level
jetm Jun 23, 2026
ef83af8
compiler: fall back to local on distributed-compile failure
jetm Jun 23, 2026
8bd7e75
compiler: fall back to local when a dist compile drops an output
jetm Jun 24, 2026
42b5bb0
compiler: concatenate strings without relying on deref coercion
jetm Jun 25, 2026
911d48c
compiler: package the compile task's toolchain, not the daemon's
jetm Jun 25, 2026
8b1062c
dist: report a per-server breakdown in scheduler status
jetm Jun 25, 2026
2778131
logging: keep wrapper log output off the compiler's stderr
jetm Jun 25, 2026
6c3b373
tests: match the scheduler-status servers field in dist harness
jetm Jun 25, 2026
074c638
compiler/gcc: never distribute precompiled-header generation
jetm Jun 26, 2026
4c7faa5
dist/scheduler: drop a stopped server promptly
jetm Jun 26, 2026
a1bcb0a
compiler/gcc: keep configure feature-probes local
jetm Jun 26, 2026
dc5c9a3
dist/pkg: bundle the sysroot usr/lib for split-sysroot toolchains
jetm Jul 1, 2026
aa2a4b7
compiler/gcc: run /dev/null feature-probes locally
jetm Jul 1, 2026
3b0fcea
dist: instrument job scheduling and client dispatch for load diagnosis
jetm Jul 2, 2026
0a57546
dist/scheduler: soften the error demotion so an idle remote node is n…
jetm Jul 2, 2026
43c5cdb
compiler/rust: keep a distributed compile when its dep-info is unmatched
jetm Jul 2, 2026
c39c2bf
dist: don't fail a distributed compile over an optional missing output
jetm Jul 2, 2026
776fad2
dist/pkg: skip dangling symlinks when packaging a toolchain
jetm Jul 2, 2026
4e7bd40
compiler/rust: ship the target spec so a remote rustc resolves --target
jetm Jul 2, 2026
ec49924
compiler: log a failed distributed compile's remote output at debug
jetm Jul 2, 2026
251f851
compiler/rust: ship the target sysroot std to distributed compiles
jetm Jul 2, 2026
e1a4153
compiler/rust: ship split-metadata rlibs whole instead of dropping them
jetm Jul 2, 2026
651c0de
compiler/rust: ship sysroot rlibs whose name has no hash suffix
jetm Jul 2, 2026
7c2ce30
dist: time local preprocessing in the per-job load diagnostics
jetm Jul 2, 2026
1941135
dist/scheduler: make routing topology-aware and deterministic
jetm Jul 3, 2026
248f405
compiler/c: gauge live local preprocess concurrency
jetm Jul 3, 2026
6e5b8ac
dist/scheduler: derive the colocated de-weight dynamically
jetm Jul 3, 2026
b1bff8a
dist: satisfy clippy under the all-features gate
jetm Jul 3, 2026
fee4f20
ci: mirror the CI validation gate in pre-commit
jetm Jul 3, 2026
7cd5141
dist/scheduler: reap Started jobs whose Complete update was lost
jetm Jul 3, 2026
387c73a
dist/scheduler: add a between-nodes job-lifecycle leak detector
jetm Jul 3, 2026
3ef8ec0
dist/scheduler: make late job-state updates idempotent
jetm Jul 3, 2026
532a7a9
dist/scheduler: measure the unclaimed reservation timeout from Ready
jetm Jul 3, 2026
3e926bb
dist: make scheduler restart safe for job accounting
jetm Jul 3, 2026
771552d
dist: reap Started jobs by liveness lease, not a fixed timeout
jetm Jul 3, 2026
3171872
dist/scheduler: address Group 1 review findings
jetm Jul 3, 2026
fd86b63
dist/http: reuse connections and offload large deserialize
jetm Jul 3, 2026
9c8d796
dist/server: shrink toolchain locks so compiles stop convoying
jetm Jul 3, 2026
d11eeb3
dist: fix chunked-upload keep-alive desync and eviction race
jetm Jul 3, 2026
59811d6
dist/pkg: ship long input paths via GNU tar long-name
jetm Jul 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 47 additions & 8 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,56 @@
repos:
- repo: local
- repo: local
hooks:
- id: rust-linting
name: Rust linting
description: Run cargo fmt on files included in the commit.
# Format changed Rust files. Kept on nightly because the tree is
# nightly-formatted; stable fmt would reflow files needlessly.
- id: rust-fmt
name: cargo fmt
description: Format Rust sources included in the commit.
entry: cargo +nightly fmt --
pass_filenames: true
types: [file, rust]
language: system
- id: rust-clippy
name: Rust clippy
description: Run cargo clippy on files included in the commit.
entry: cargo +nightly clippy --workspace --all-targets --all-features --

# Lint with the gate CI enforces (.github/workflows/ci.yml): -D warnings
# plus the three allows CI sets. --features all,dist-server so the
# feature-gated dist-client / dist-server code is actually linted - CI's
# clippy runs on default features and never covers it.
- id: rust-clippy
name: cargo clippy
description: Lint all targets with warnings denied.
entry: cargo clippy --locked --all-targets --features all,dist-server -- -D warnings -A unknown-lints -A clippy::type_complexity -A clippy::new-without-default
pass_filenames: false
types: [file, rust]
language: system

# Compile every target including the integration-test harness. This is the
# gate that catches a changed function signature or struct literal under
# tests/ that plain `cargo check` and `makepkg` never compile.
- id: rust-check
name: cargo check --all-targets
description: Type-check every target, including tests and benches.
entry: cargo check --all-targets --features all,dist-server
pass_filenames: false
types: [file, rust]
language: system

# Run the CI test set on push (lib, bins, integration tests). On push, not
# per commit, so commit turnaround stays fast.
- id: rust-test
name: cargo test
description: Run the library, binary, and integration tests.
entry: cargo test --locked --features all,dist-server --lib --bins --tests
pass_filenames: false
types: [file, rust]
language: system
stages: [pre-push]

# RustSec advisory scan on push (org security standard).
- id: cargo-audit
name: cargo audit
description: Scan dependencies for known advisories.
entry: cargo audit
pass_filenames: false
types: [file, rust]
language: system
stages: [pre-push]
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ strip = true
[dependencies]
anyhow = { version = "1.0", features = ["backtrace"] }
ar = "0.9"
arc-swap = "1.7.1"
async-trait = "0.1"
backon = { version = "1", default-features = false, features = [
"std-blocking-sleep",
Expand Down
Loading
Loading