Skip to content

Commit 158922f

Browse files
erneestocclaude
andcommitted
Merge ec/pr2243-get-or-create-optimize into POC test branch
Combines the #1/#2/TraceMachina#5/#3 get_or_create optimizations with Workstreams A & B and the diagnostics, for deploy-and-test. directory_cache.rs conflict resolved by taking the optimized rewrite; the obsolete get_or_create_spans instrumentation (it instrumented the pre-rewrite code) is dropped. prepare_action_inputs_timing + the digest-churn diagnostic are retained. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 parents db1b2d5 + 097743b commit 158922f

22 files changed

Lines changed: 1080 additions & 520 deletions

File tree

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,38 @@
33

44
All notable changes to this project will be documented in this file.
55

6+
## [1.3.0](https://github.com/TraceMachina/nativelink/compare/v1.2.0..v1.3.0) - 2026-05-21
7+
8+
9+
### ⚠️ Compatibility Notes
10+
11+
- Absolute symlink outputs are now resolved to the file or directory contents before upload instead of being returned as worker-local absolute symlink targets. Relative symlinks are still preserved. If a workflow expected the old worker-local target, update it to consume the uploaded file or directory output. ([#2346](https://github.com/TraceMachina/nativelink/issues/2346)) - ([74aa906](https://github.com/TraceMachina/nativelink/commit/74aa90624323ce2a48151e8a6cb0742d68ec6f56))
12+
13+
### ⛰️ Features
14+
15+
- Implement Remote Persistent Workers ([#2323](https://github.com/TraceMachina/nativelink/issues/2323)) - ([78d1232](https://github.com/TraceMachina/nativelink/commit/78d1232ab739f6ac87dcdb3d16f50a9a3d6eee7d))
16+
- Add Cloudflare R2 support ([#2319](https://github.com/TraceMachina/nativelink/issues/2319)) - ([3d76991](https://github.com/TraceMachina/nativelink/commit/3d76991e282d5609fe04910e70c293674edd6a68))
17+
- Add improved logging around command failures ([#2351](https://github.com/TraceMachina/nativelink/issues/2351)) - ([0cf6af7](https://github.com/TraceMachina/nativelink/commit/0cf6af7dc414016a72eba288af7f06e3f53cee97))
18+
19+
### 🐛 Bug Fixes
20+
21+
- Fix zero-digest output file uploads ([#2346](https://github.com/TraceMachina/nativelink/issues/2346)) - ([74aa906](https://github.com/TraceMachina/nativelink/commit/74aa90624323ce2a48151e8a6cb0742d68ec6f56))
22+
- Fix CAS inode corruption: directory cache cleanup must not chmod files ([#2347](https://github.com/TraceMachina/nativelink/issues/2347)) - ([a00bf8c](https://github.com/TraceMachina/nativelink/commit/a00bf8c0e10e49551d857063acc0caba0a9d259c))
23+
- APFS clonefile fast path + concurrency cap + zero-byte fix for Bazel input materialization ([#2338](https://github.com/TraceMachina/nativelink/issues/2338)) - ([e6def51](https://github.com/TraceMachina/nativelink/commit/e6def517a692487d76e0f7883905bf9a5bce33f1))
24+
- hold subscribed_keys write lock across receiver drop ([#2353](https://github.com/TraceMachina/nativelink/issues/2353)) - ([41c7789](https://github.com/TraceMachina/nativelink/commit/41c77898b318845e56b46c6204f53e67e2cb922b))
25+
- has_with_results consults fast store and in-flight slow writes ([#2343](https://github.com/TraceMachina/nativelink/issues/2343)) - ([2f42265](https://github.com/TraceMachina/nativelink/commit/2f422658d663c0df5872db58ca509028ccc3aa01))
26+
- replace usize counter with Semaphore RAII permit ([#2350](https://github.com/TraceMachina/nativelink/issues/2350)) - ([f25e7ac](https://github.com/TraceMachina/nativelink/commit/f25e7ac7fbf48d8c072f2ad5b45859ce6e4d76bd))
27+
28+
### 🧪 Testing & CI
29+
30+
- prefer macOS P-cores via pthread QoS USER_INITIATED ([#2342](https://github.com/TraceMachina/nativelink/issues/2342)) - ([2410a08](https://github.com/TraceMachina/nativelink/commit/2410a083f5390f0cf3cbfc65609ace395f3abb4f))
31+
32+
### ⚙️ Miscellaneous
33+
34+
- Replace bincode with wincode ([#2345](https://github.com/TraceMachina/nativelink/issues/2345)) - ([13c77ab](https://github.com/TraceMachina/nativelink/commit/13c77abcf32d157e548dcde0ddf51ca9c617cf71))
35+
- Update astro monorepo ([#2334](https://github.com/TraceMachina/nativelink/issues/2334)) - ([4082867](https://github.com/TraceMachina/nativelink/commit/40828671c88207eb1b6413291fdd108048317f8c))
36+
- Update Rust crate shlex to v2 ([#2340](https://github.com/TraceMachina/nativelink/issues/2340)) - ([2c04038](https://github.com/TraceMachina/nativelink/commit/2c0403831bc804ce1cd354f305def5fda78fd24e))
37+
638
## [1.2.0](https://github.com/TraceMachina/nativelink/compare/v1.1.0..v1.2.0) - 2026-05-14
739

840

Cargo.lock

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ resolver = "2"
1010
edition = "2024"
1111
name = "nativelink"
1212
rust-version = "1.93.1"
13-
version = "1.2.0"
13+
version = "1.3.0"
1414

1515
[profile.release]
1616
lto = true

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module(
22
name = "nativelink",
3-
version = "1.2.0",
3+
version = "1.3.0",
44
compatibility_level = 0,
55
)
66

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ for how to build the images yourself.
7272

7373
```bash
7474
curl -O \
75-
https://raw.githubusercontent.com/TraceMachina/nativelink/v1.2.0/nativelink-config/examples/basic_cas.json5
75+
https://raw.githubusercontent.com/TraceMachina/nativelink/v1.3.0/nativelink-config/examples/basic_cas.json5
7676

7777
# See https://github.com/TraceMachina/nativelink/pkgs/container/nativelink
7878
# to find the latest tag
7979
docker run \
8080
-v $(pwd)/basic_cas.json5:/config \
8181
-p 50051:50051 \
82-
ghcr.io/tracemachina/nativelink:v1.2.0 \
82+
ghcr.io/tracemachina/nativelink:v1.3.0 \
8383
config
8484
```
8585

@@ -88,15 +88,15 @@ docker run \
8888
```powershell
8989
# Download the configuration file
9090
Invoke-WebRequest `
91-
-Uri "https://raw.githubusercontent.com/TraceMachina/nativelink/v1.2.0/nativelink-config/examples/basic_cas.json5" `
91+
-Uri "https://raw.githubusercontent.com/TraceMachina/nativelink/v1.3.0/nativelink-config/examples/basic_cas.json5" `
9292
-OutFile "basic_cas.json5"
9393
9494
# Run the Docker container
9595
# Note: Adjust the path if the script is not run from the directory containing basic_cas.json
9696
docker run `
9797
-v ${PWD}/basic_cas.json5:/config `
9898
-p 50051:50051 `
99-
ghcr.io/tracemachina/nativelink:v1.2.0 `
99+
ghcr.io/tracemachina/nativelink:v1.3.0 `
100100
config
101101
```
102102

nativelink-config/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lints.workspace = true
44
[package]
55
edition = "2024"
66
name = "nativelink-config"
7-
version = "1.2.0"
7+
version = "1.3.0"
88

99
[dependencies]
1010
nativelink-error = { path = "../nativelink-error" }

nativelink-error/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ autobins = false
77
autoexamples = false
88
edition = "2024"
99
name = "nativelink-error"
10-
version = "1.2.0"
10+
version = "1.3.0"
1111

1212
[dependencies]
1313
nativelink-metric = { path = "../nativelink-metric" }

nativelink-macro/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lints.workspace = true
44
[package]
55
edition = "2024"
66
name = "nativelink-macro"
7-
version = "1.2.0"
7+
version = "1.3.0"
88

99
[lib]
1010
proc-macro = true

nativelink-metric/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lints.workspace = true
44
[package]
55
edition = "2024"
66
name = "nativelink-metric"
7-
version = "1.2.0"
7+
version = "1.3.0"
88

99
[dependencies]
1010
nativelink-metric-macro-derive = { path = "nativelink-metric-macro-derive" }

nativelink-metric/nativelink-metric-macro-derive/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
edition = "2024"
33
name = "nativelink-metric-macro-derive"
4-
version = "1.2.0"
4+
version = "1.3.0"
55

66
[lib]
77
proc-macro = true

0 commit comments

Comments
 (0)