Autoprovision a disposable VM

I want to be able to run integration tests against an active docker-compose stack in drone.
I want these tests to get their own VM so that the teardown is simple and the environment completely isolated.
I want drone to automatically provision a VM or atleast get a disposable VM to start a docker-compose stack in.

Any ideas on making this work? Is it doable given existing features?

I’ve tried “build” and “up” my docker-compose stack. It works.
But it needs the docker socket from the host and that means I need to manually cleanup the environment. This is not a safe way to things.

  image: docker/compose:debian-1.25.4

I’ve seen this but it’s empty.

You can use the Digital Ocean runner for this [1]

The Digital Ocean runner executes a build pipeline on a dedicated virtual machine using the SSH protocol. The virtual machine is created for each pipeline execution and terminated upon completion.

There are plans to create an AWS runner and a Virtual Box runner but those projects will not be started until the second half of the year at the earliest, due to lack of time and priority.


Okey. Interesting. Does this rely on anything specific to Digital Ocean? Can this runner be used on any good ol’ linux machine? Does it use a specific VM technology?