Plugin in a step to imply agent queue


#1

I can think of a couple of use cases at my company where I’d want a certain plugin to always run on a specific queue.
It would be cool if I could somehow tie plugins to a queue. So if someone in any given build step invokes a plugin, but does not specify an agent queue for that step, during pipeline upload, that step would “magically” be tied to a given queue.


#2

Interesting idea! We’ve considered the idea of agent-level plugins that you’d configure via the agent configuration vs a pipeline configuration.

This can generally be accomplished with a “hooks” repo referenced from agent hooks like https://github.com/buildkite/aws-secrets-manager-agent-hooks/blob/master/INSTALL.md.

The issue I see with calling them “plugins” is that it gets confusing how the semantics differ.


#3

Another idea for you @moensch, might be to have a plugin that’s designed to be used as the pipeline upload step, and it knows how to do the pinning to a queue?

steps:
  - label: ":pipeline:
    plugins:
      - my-pipeline-upload-plugin#v1.0.0: ~

The plugin could define it’s own command hook, and do the buildkite-agent pipeline upload with the queue pinned as you need.