7ec4e081

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 4m52s 7s 7s 4m59s 4m52s
Eval 5m00s 17s 17s 5m18s 1s
Build 1h47m35s 3m35s 20m37s 2h08m12s 1h59m19s
Test 2h08m12s 0s 0s 2h08m13s 0s
Deploy - - - - 0s
Suite 4m52s 4m00s - - 2h04m13s

Timeline

0s1h47m2h5m2h5m2h5m2h6m2h6m2h6m2h7m2h7m2h8m