Page MenuHomePhabricator

[blob] Switch Blob unit tests to autoscaling CI runners
ClosedPublic

Authored by atul on Dec 13 2023, 12:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, May 19, 12:19 AM
Unknown Object (File)
Mar 8 2024, 5:38 AM
Unknown Object (File)
Feb 29 2024, 3:00 AM
Unknown Object (File)
Feb 23 2024, 8:44 PM
Unknown Object (File)
Feb 23 2024, 8:37 PM
Unknown Object (File)
Feb 23 2024, 7:41 PM
Unknown Object (File)
Feb 23 2024, 5:08 PM
Unknown Object (File)
Feb 23 2024, 6:17 AM
Subscribers
None

Details

Summary

Switch Blob unit test Buildkite workflow to use autoscaling CI runners.
Context: We discussed this in the retro this morning and I already had a proof of concept for this that I jotted down here: https://linear.app/comm/issue/ENG-5770/office-mba-runner-out-of-storage#comment-d61c38e9

Not actually doing this task right now, just figure I'd diff up what I already had and tested.

Test Plan

CI

image.png (854×2 px, 202 KB)

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

atul published this revision for review.Dec 13 2023, 12:39 PM

Don't feel strongly and @bartek is blocking anyways

This does mean that we wouldn't catch it if eg. there was some new non-Cargo dependency in the blob service that wasn't in the Nix environment

This does mean that we wouldn't catch it if eg. there was some new non-Cargo dependency in the blob service that wasn't in the Nix environment

We have Docker-based jobs (e.g Blob Build (Docker), CommTest) which are great for catching missing deps. But yeah, they only indicate that it can be missing in Nix too, they don't fail directly

.buildkite/blob_unittests.yml
12 ↗(On Diff #34571)

We consistently use 1.70 in services but I think this is okay. Let it stay as is

This revision is now accepted and ready to land.Dec 13 2023, 11:58 PM
.buildkite/blob_unittests.yml
12 ↗(On Diff #34571)

Ah thanks for the heads up, will leave as is like you suggested. Figure Rust is pretty stable and backwards compatible anyways

This does mean that we wouldn't catch it if eg. there was some new non-Cargo dependency in the blob service that wasn't in the Nix environment

Yeah it's definitely not perfect, but I think it's a pragmatic trade-off. We could also try doing this through the nixOS Docker image, but I'd prefer to stick to simpler rust Docker image for now.