Skip to content

circus-evaluator: evaluate flakes via canonical forge ref - #131

Merged
amaanq merged 2 commits into
mainfrom
notashelf/push-twvrxzrrwqsk
Aug 4, 2026
Merged

circus-evaluator: evaluate flakes via canonical forge ref#131
amaanq merged 2 commits into
mainfrom
notashelf/push-twvrxzrrwqsk

Conversation

@NotAShelf

@NotAShelf NotAShelf commented Jun 25, 2026

Copy link
Copy Markdown
Member

I've changed how canonical flake sources are resolved and passed through the evaluator, to try and fix #130 and also to guarantee better reproducibility for hash-matching. This might explain why @atagen has experienced binary cache misses earlier. The legacy(tm( logic for constructing git flake references from local paths has been removed.

Arguably this is not the cleanest approach, but we are somewhat severely restricted by the underlying C API Evix calls for evaluations. I've tried to harden locking and evaluation as much as possible for v2, but I will investigate further. Still, this should fix the issue described in #130.

TODO: migrate host & flakeref parsing into a standalone crate that nh can use as well.

Change-Id: I63482088397f090cc27ac70944579e626a6a6964

@NotAShelf
NotAShelf marked this pull request as draft June 27, 2026 15:23
@NotAShelf
NotAShelf force-pushed the notashelf/push-twvrxzrrwqsk branch from 89486d6 to c780368 Compare July 19, 2026 10:08
@NotAShelf
NotAShelf marked this pull request as ready for review July 19, 2026 10:09
@NotAShelf NotAShelf changed the title evaluator: evaluate flakes via canonical forge ref circus-evaluator: evaluate flakes via canonical forge ref Jul 19, 2026
@NotAShelf
NotAShelf force-pushed the notashelf/push-twvrxzrrwqsk branch 2 times, most recently from a500010 to decc974 Compare July 19, 2026 10:56
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I63482088397f090cc27ac70944579e626a6a6964
@NotAShelf
NotAShelf force-pushed the notashelf/push-twvrxzrrwqsk branch 2 times, most recently from 052532f to 9892a03 Compare July 23, 2026 18:46
@NotAShelf
NotAShelf requested a review from amaanq July 23, 2026 18:49
Comment thread crates/evaluator/src/nix.rs Outdated
Comment thread crates/evaluator/src/nix.rs Outdated
Comment thread crates/evaluator/src/nix/eval_command.rs Outdated
Comment thread crates/evaluator/src/nix/flake_ref.rs Outdated
Comment thread crates/evaluator/src/nix/flake_ref.rs Outdated
Comment thread crates/evaluator/src/nix/flake_ref.rs Outdated
@NotAShelf
NotAShelf requested a review from amaanq July 28, 2026 08:37

@amaanq amaanq left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, commit 3 (9892a03) adds the fallback machinery yet commit 4 removes it, which is a bit redundant. The rest of commit 4, such as the percent encoding, UriPrefixes reuse, etc should be squashed into the first two commits.

Comment thread crates/evaluator/src/nix.rs Outdated
@NotAShelf
NotAShelf force-pushed the notashelf/push-twvrxzrrwqsk branch from 4808545 to ee8bd00 Compare July 29, 2026 13:36
@NotAShelf
NotAShelf requested a review from amaanq July 29, 2026 13:46
…origin

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I13b7bad6502859a58b47901a1ebeb31f6a6a6964
@NotAShelf
NotAShelf force-pushed the notashelf/push-twvrxzrrwqsk branch from ee8bd00 to 64afee8 Compare July 29, 2026 13:46
@amaanq
amaanq merged commit b49bcff into main Aug 4, 2026
29 checks passed
@amaanq
amaanq deleted the notashelf/push-twvrxzrrwqsk branch August 4, 2026 06:12
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.

Derivations produced by circus include .git in their source.

2 participants