Hi BK Team!
I have an issue with targeting specific agents in my pipelines.
There are several pipelines. Which pipelines are uploaded is determined based on the monorepo-diff#1.3.2 plugin. For example:
---
steps:
- label: "Triggering builds"
plugins:
- chronotc/monorepo-diff#1.3.2:
diff: "git diff --name-only HEAD~1"
watch:
- path:
- "app1/"
config:
command: "buildkite-agent pipeline upload app1/.buildkite/app1.pipeline.yml"
agents:
queue: default
- path:
- "app2/"
config:
command: "buildkite-agent pipeline upload app2/.buildkite/linter.pipeline.yml"
agents:
queue: linter
Example entrypoint to my pipelines is above.
- I need every step in
app1.pipeline.ymlto run on the same agent, on the same machine, so it has the following structure:
---
agents:
name: "${BUILDKITE_AGENT_NAME}"
steps:
- name: stage1
- wait
- name: stage2
- wait
- name: stage3
- wait
- name: stage4
- wait
This works. stages 1-4 all run on buildkite-#, for example. From stage1>Timeline in the BK UI:

The issue manifests in the 2nd pipeline, linter.pipeline.yml, the linter queue is properly selected for the linter.pipeline.yml step itself, however, the steps within that pipeline are stuck waiting indefinitely to be picked up because the name=buildkite-7 tag restriction seems to have snuck into this pipeline, even though the agent queue is different (screenshot above shows buildkite-3, but I’ve just mixed those up here. The stuck build and the build that just ran are both targeting an agent with name=buildkite-7 (this 2nd one shouldn’t be doing that):
(the name of my agent serving this queue is buildkite-esxi)
The linter.pipeline.yml itself doesn’t have a name: set at the top level, yet it is being targeted anyway as you can see in the screenshot above. Here is the linter.pipeline.yml, which is only targeting the agent by queue:
---
agents:
queue: "linter"
steps:
- group: ":broom: app2 Linter"
steps:
- label: "check-js"
command:
- cd app2/
- make check-js
- label: "check-formatting"
command:
- cd app2/
- make check-formatting
- label: "check-profiles"
command:
- cd app2/
- make check-profiles
- label: "check-version"
command:
- cd app2/
- make check-version
- label: "check-metadata-version"
command:
- cd app2/
- make check-metadata-version
Q: How do I get this name=buildkite-7 out of my linter.pipeline.yml step agent targeting, when I haven’t defined it?
Agents:
- 7 independent agents, each on their own machine. Tags from EC2. (
queue=default) - names arebuildkite-[1-7] - 6 spawned agents, on 1 single machine. Tags local from
buildkite-agent.cfgfile, (queue=linter) - name isbuildkite-esxi
This is my first time posting, so please let me know what other details are needed and I can send those! Thanks for your time BK peeps.





