The @nixos_org integration tests have always been a fantastic tool - We just made them even faster and much simpler to run! 🚀 By adding a new lightweight container backend to the test driver, you can now run your suites on standard, non-KVM VMs. 👇

Here is what the new container backend brings to your NixOS workflow:

⚡ Blazing Fast Execution: How fast? Booting two machines, letting them ping each other, and tearing them down now takes ~3 seconds!
💸 Run Anywhere (Cheaper!): You no longer need bare-metal KVM-enabled hosts. Your tests can now run seamlessly on cheap, standard VMs.
🎮 GPU Testing Support: Hardware acceleration is now accessible. You can finally test GPU-dependent workloads directly inside your integration tests!

Curious how it works under the hood and how to enable it in your projects? Dive into our latest article and try it out for yourself!

🔗 Read the full breakdown here: https://nixcademy.com/posts/faster-cheaper-nixos-integration-tests-with-containers/

#NixOS #DevOps #Testing #Linux #Nix #InfrastructureAsCode #CI #Containers

@jgalowicz @nixos_org That's awesome and may be ideal for the Home Manager integration tests!
@rycee nice, did not think about this!
@jgalowicz Yeah, we already have a set of such tests but starting up a whole VM is a bit excessive for our purposes.

@jgalowicz
Oh. My. God.

Yessssss!!!!
@nixos_org

@jgalowicz
If this works only half as good as I expect, you probably reduced our CI time by 50% or so! ❤️
@nixos_org
@musicmatze @nixos_org so i guess we are at 100% 😁😁😁
@jgalowicz
Math checks out I guess 😂 no CI costs anymore, yay!
@nixos_org

@jgalowicz @nixos_org

Oh my! I had the thought floating around my head why we don't simply use namespaces for all tests except the ones that test the kernel specifically. Well, I know the answer now; very cool to see this!

@Atemu @nixos_org yeah building a private POC and building something that is upstreamable are two very different things!

@jgalowicz @nixos_org

Oh absolutely! I didn't even build a PoC; merely a theoretical "could this even work in theory" test in my head. Turns out I'd even written a small issue about it: https://github.com/NixOS/nixpkgs/issues/350899

Big kudos to you!

Use containers for NixOS tests? · Issue #350899 · NixOS/nixpkgs

Issue description So this just occurred to me: Why do we use VMs to run NixOS tests when we could (in theory) start ourself a systemd with NixOS inside of a namespace? nixos-containers via systemd-...

GitHub
@Atemu @jgalowicz @nixos_org If I got the announcement right, MicroVMs are also in reach now.
@wamserma @Atemu @nixos_org would not be a lot of hassle to add them, yes.
@jgalowicz @nixos_org why is there a Vectron in my NixOS post?
@jgalowicz @nixos_org The loco. DB class 193, the #Siemens #Vectron (or class 192, the #Smartron).
Apparently, AI, too, thinks „Modern loco == Vectron“. I agree.
#br193

@libewa @nixos_org Oh, right, Choo choo! 🚂🚂🚂🚂

I am glad you like the article so much that you say "my NixOs post"! 👍👍👍

@jgalowicz @nixos_org I was actually kind of referencing the „A circle…“ meme, and mixed it up with something else… (edit: the „In front of my…“ meme)