1e28c31077
fc-evaluator: dispatch pending status on build creation
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I534a8dde536b6e0537d7c3c44c3ba0146a6a6964
2026-02-28 17:37:59 +03:00
a127f3f62c
treewide: address all clippy lints
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5cf55cc4cb558c3f9f764c71224e87176a6a6964
2026-02-28 17:37:53 +03:00
d541b7ebbf
nix: simplify tests
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I02126573ee9573fd7a1e5a12e42dd02d6a6a6964
2026-02-28 12:18:14 +03:00
5b472a2f57
fc-common: add GC pinning and machine health infrastructure
...
Migration 017 adds `builds.keep`, `jobsets.keep_nr`, and health tracking
columns to `remote_builders`. Repo layer implements `set_keep`,
`list_pinned_ids`, `record_failure` with exponential backoff,
`record_success`, and `find_for_system` filtering of disabled builders.
GC root cleanup now skips pinned builds.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibba121de3dc42f71204e3a8f5776aa8b6a6a6964
2026-02-28 12:18:04 +03:00
235c9834b7
fc-evaulator: allow fail-fast behaviour
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1da41766f1c499347279c41f2316f4376a6a6964
2026-02-16 23:42:39 +03:00
edaf4313e9
fc-evaluator: use LISTEN/NOTIFY for reactive wakeups
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibee7506a9a5ffa008c41fae8e9758db66a6a6964
2026-02-16 23:42:37 +03:00
38ed7faee2
various: replace silent error discards with logged warnings
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I465d760b5330980270b64b4a89abc09f6a6a6964
2026-02-15 23:37:51 +03:00
aa4ebf2f5b
various: harden input validation; add SSRF protection; fix default API key role
...
Default API key role was "admin", which was something that I forgot to fix during testing. We
change it to "read-only".
Additionally repository URLs now reject `file://` scheme (another testing artifact) localhost,
private IP ranges, and cloud metadata endpoints. Nix expressions reject path traversal (`..`)
and absolute paths. Validation is called at the evaluator endtrypoint before command construction.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I35729c6aa9ec4ff8d1ea19bd57ea93646a6a6964
2026-02-15 23:37:49 +03:00
a2b638d4db
nix: attempt to fix VM tests; general cleanup
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I65f6909ef02ab4599f5b0bbc0930367e6a6a6964
2026-02-15 23:37:49 +03:00
73919f2f9e
treewide: format with nightly rustfmt; auto-fix Clippy lints
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I15d9215ab506b37954468d99746098326a6a6964
2026-02-08 22:23:20 +03:00
8472e3f1d8
evaluator: per-jobset check intervals; fix one-shot handling
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib36e82fad6f1c3b2ad87651d680fc1406a6a6964
2026-02-08 22:23:15 +03:00
794e4a8e61
common,evaluator: add PR fields to evaluation; add jobset ordering test
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I305c988aceb8c72c65b740cb323c0ef06a6a6964
2026-02-07 22:09:28 +03:00
1c18306822
various: eliminate redundant disk check; improve error handling
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I1f37cc60380790bc1bf11f143194ad116a6a6964
2026-02-05 23:05:02 +03:00
550603c4bb
fc-common: add disk space monitoring and error handling
...
Adds a `DiskSpace` error variant and an `is_disk_full()` helper
alongside a `check_disk_space()` util that uses libc's `statsfs` on
unix. FC now detects disk space errors and logs recovery instructions
if applicable.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia6d2c472219dc9d6eed6901dc733d7bb6a6a6964
2026-02-05 22:45:20 +03:00
c306383d27
chore: format with updated rustfmt and taplo rules
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie9ef5fc421fa20071946cf1073f7920c6a6a6964
2026-02-05 22:45:06 +03:00
00a4dc8d37
crates/evaluator: add multi-branch evaluation support
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ida40acb8d093f7d7e387913681b767276a6a6964
2026-02-02 01:49:31 +03:00
3fd40b7e07
crates/evaluator: eval loop with git polling and nix-eval-jobs integration
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I291a411b1b06cf821e09f3d5a61403196a6a6964
2026-02-02 01:15:06 +03:00
6203ea7f52
initial commit
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I79a875e75937ff6b3739ca36bfb0b2836a6a6964
2026-02-02 01:14:56 +03:00