Functionality similar to Jenkins “Lockable Resources”?

I am wondering how to accomplish handling physical resources as part of a Drone build; my specific application is integration tests for firmware/hardware, wherein I have several real devices which should pass a test suite (after linting and unit tests, which can be run in parallel as they do not require any physical resources.

In Jenkins there is the “Lockable Resources” plugin which handles this within job definitions and also provides a UI to see the status (locked by job #, or available) of all resources.

Ideally this could be done within Drone or using a plugin; I’d prefer not to use a separate system just to hand out locks (but that is my fallback plan, if you have one you can recommend).

Any suggestions or alternate workflows to accomplish this in Drone?

Drone does not have any native capabilities to lock resources but as you mentioned you could create a plugin for this. In general we recommend prototyping new functionality using plugins or extensions so that you can flush out requirements and demonstrate that enough community demand exists to warrant inclusion as a native feature.