d4af2999

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Drop NixCI dependency edges to doNotBuild jobs

The newer NixCI rejects a build-dependency edge whose endpoint is a job
it does not build, i.e. any job listed in doNotBuild. The manual
dependency graph referenced 35 such jobs (crate-*/crate-deps-* artifacts,
the doctest and nextest-binaries aggregates, default, workspaceBuildArtifacts,
workspaceDoctestCargoArtifacts, gammaloop-llvm-coverage and
nix-ci-check-gammaloop-nextest), producing a build-dependency
configuration error.

Keep building the full crate/artifact DAG so the drift and cycle asserts
stay meaningful, then filter the emitted graph through buildableDependencies
so only ordering between actually-built jobs survives. This drops 162 edges
that only ordered jobs NixCI never schedules and keeps all 96 edges between
built jobs (workspace-hack root, test-support DAG, nextest archive ordering).

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 5s 5s 5s 0s
Eval 4s 11s 11s 16s 0s
Build 13s 4h39m00s 1h31m56s 1h32m09s 3m44s
Test 1h31m51s 0s 2m31s 1h34m23s 2m14s
Deploy - - - - 0s
Suite 0s 4h39m16s - - 5m58s

Timeline

0s1m2m3m4m5m6m7m8m9m10m11m12m13m14m15m16m17m18m19m20m21m22m23m24m25m26m27m28m29m30m31m32m33m34m35m36m37m38m39m40m41m42m43m44m45m46m47m48m49m50m51m52m53m54m55m56m57m58m59m1h0m1h1m1h2m1h3m1h4m1h5m1h6m1h7m1h8m1h9m1h10m1h11m1h12m1h13m1h14m1h15m1h16m1h17m1h18m1h19m1h20m1h21m1h22m1h23m1h24m1h25m1h26m1h27m1h32m