v2.77.3
Binaries and the merged-pull-request list are on the GitHub releases page.
This release fixes the problems orun-cloud's first full verify on lanes found: 128 jobs, packed into 16 lanes and then into 56. Plans without lanes, and lanes of one job, behave as before. It builds on v2.77.2, where a lane's free slot goes to the job others wait on.
A failed job no longer cancels its lane
Every plan orun renders carries execution.failFast: true, and a lane read
it: the first job to fail stopped every job of its lane that had not started,
whether or not it depended on the failure. On orun-cloud, 24 of 128 jobs never
ran. A lane now stops only the jobs that depend on the failed one; the rest
run. execution.failFast no longer applies inside a lane.
(#735)
Other lanes stop waiting for jobs nobody will run
A job a lane had cancelled stayed pending on the platform, with nothing failed above it, so a job in another lane waiting on it waited out the full 60-minute upstream limit while holding its runner. Lanes no longer cancel independent jobs, so a job left unrun always sits below a failed upstream. A job in another lane waiting on it sees the failure and stops at once. (#737)
Terraform jobs in one lane no longer corrupt each other's providers
Jobs on one runner shared one Terraform plugin cache, and terraform init is
not safe against a second init writing the same cache. Two terraform jobs in
one lane failed with the cached package for registry.terraform.io/hashicorp/aws … does not match any of the checksums recorded in the dependency lock file.
Each job in flight now gets its own cache directory: a job on its own keeps
the shared one, and jobs running alongside it get siblings
(terraform-plugins-1, …). The directories persist, so later jobs reuse the
providers earlier ones downloaded.
(#736)
Sizing a lane
The lanes page
now says how to choose concurrency and maxLanes, with the measurements
behind it. Jobs in one lane share the runner's CPUs: four at once on a 2-vCPU
runner made each job 1.8× slower, and two at once made each 1.2× slower.