Firstly I’d like to just say that Drone is pretty damn awesome. I got it set up yesterday so fast, and had a build running in no time with very little configuration. That being said, I cannot help but compare it to other systems I aim to move away from. There are only a few areas that are stopping me from doing so already, though I’m not sure if at least one of them will steer too far from Drone’s core ideals.
Matrix Groups: I think it’d be nice to be able to say “these steps should run with these different values for these variables, but these others should not”. Right now I have a very, very simple pipeline that’s just testing some Go code, then notifying me on Slack. I get the notification twice! Maybe I’ve just missed that this is possible already though.
Standalone Jobs: Coming from Jenkins (and also having tried Concourse) I really appreciate the ability to sometimes run arbitrary jobs on their own. For example, bumping SemVer versions, or syncing environments. This might be too much to ask though - perhaps you have some other recommended way of handling this kind of thing in that case?
Multiple “Resources”: À la Concourse resources, that is. Right now a Git repository is cloned at the start, but what if your project has multiple repositories and you want them all in one pipeline? Would you have to just use something like Git sub-modules in a repository that aggregates those other repositories?
I think those are pretty much my main concerns right now coming from other tools. It’s not an easy problem to solve, and definitely not easy to keep everyone happy. I just want to say how impressive it is that the configuration is so small for a custom pipeline. At one point my pipeline was shorter than my Travis one!