A failed job's reason names its first error
The reason shown for a failed job, in the console and on its GitHub check run, was the last line of its log, which for a build is often a line such as error: build failed, waiting for other jobs to finish.... It is now the first error line that names a cause (for example error[E0308]: mismatched types), or a No space left on device line when the machine ran out of disk. When a long log is shortened, every error line is kept, including error: lines without a code, and a compiler's quoted source lines are no longer taken for an error.
Same day.
- Sandboxes: exec on a newly created sandbox returns as soon as the command exitsIn some regions, POST /v1/sandboxes/{id}/exec on a sandbox created at the default size could hang until the client's timeout.
- API keys limited to a compartment reach only that compartment's sandboxesOn Runtime 2.0, a key limited to one compartment (project) now lists only that compartment's sandboxes, and GET, DELETE, :exec, files, pr…
- API v2: filter sandboxes and other machines by phaseThe lists of sandboxes, browsers, desktops, dev environments, databases, Kubernetes clusters and notebooks (GET /v2/{resources}) accept p…
- API v2: lists return the API v1 ID of each moved resource with include=movedFromEvery v2 list (GET /v2/{resources}) accepts include=movedFrom, which adds movedFrom to the page: the ID of each item that moved in from A…
- API v2: lists return each resource's usage to date with include=usageA list of a metered resource (GET /v2/{resources}, for every resource that has :usage) accepts include=usage, which adds usage to the pag…
- API v2: lists return resources newest first with order=newestEvery v2 list (GET /v2/{resources}) accepts order=newest, which returns resources by createdAt, newest first, and pages with cursor as be…
- Sandboxes: commands run as the sandbox user, and the HTTP proxy works at every sizeOn some sandboxes, commands, processes, terminals and file writes ran as root even though the sandbox reported user: "sandbox".
- Sandboxes: bucket mounts succeed and stay mountedPOST /v1/sandboxes/{id}/mounts checked whether the mount's client was still running by the size of its cgroup's process list, which the k…
- Sandboxes: sessions work for every sandboxPOST /v1/sandboxes/{id}/sessions, GET /v1/sandboxes/{id}/sessions and POST /v1/sandboxes/{id}/sessions/{sessionId}:revoke now work for ev…