Skip to main content

v2.77.2

Binaries and the merged-pull-request list are on the GitHub releases page.

A lane runs the job others wait on first​

A lane often holds more ready jobs than it has slots: auto mode can pack an environment's whole fleet into one lane. Which ready job took a free slot was left to chance, so a job that other jobs wait on could queue behind several that nothing waits on.

On one measured bootstrap the API edge, the only job the console waits on, ran last of eleven jobs in its lane at concurrency 6. It started about four minutes into the run, and the console went live about four minutes late.

A free slot now goes to the ready job with the longest chain of jobs behind it. The chain counts dependents anywhere in the plan, including jobs in other lanes, so the API edge goes before workers nothing waits on. Jobs with equal chains keep plan order. The jobs that are ready when the lane starts compete the same way.

Nothing else changes: the same jobs run, each as soon as its upstreams finish, and at most concurrency of them at once. Plans without lanes, and lanes with no more ready jobs than slots, are not affected.