Skip to main content

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.