Support pipeline.yml in root of repo & make it clearer when it's not being found

I missed the part about the path to pipeline.yml being .buildkite/pipeline.yml, and it wasn’t clear from the UI what was happening from BuildKite’s end - it just looked like it was trying to create a new ‘hello world’ pipeline instead of reading my pipeline.yml.

Would it be possible to support pipeline.yml in multiple/custom locations?
Could the documentation be clarified, or the file path be moved up near the top of Defining Your Pipeline Steps | Buildkite Documentation?

I’m used to say, Azure DevOps where the editor on the web UI edits the YAML in the repo itself, rather than creating a new pipeline that only exists in the web UI.

Seems like something odd is happening here:


Whereas it should be getting the steps from lfs-docker/pipeline.yml at main · baxterworks-build/lfs-docker · GitHub

Aha, why do I need to go define

  - label: ":pipeline: Pipeline upload"
    command: buildkite-agent pipeline upload

in the web editor?

Hi @baxterworks, Welcome to our community!

For build#2 in BaxterWorks / LFS in Docker / main, it seems like you had a step in the web UI that prints ‘Hello world’.

There are two places where you can have your pipeline steps defined. One in the repository and the other in the web UI.

When you don’t provide any steps in the web UI, it checks for pipeline steps in the default location which is .buildkite/pipeline.yml in your repository. You can customize this default location. Please check here for details. Defining Your Pipeline Steps | Buildkite Documentation

If you have steps defined in the Yaml Editor (Web UI), those steps are only run and it will not by default look for the pipeline.yml file in your repository. If you would like to import steps from your repository being in the YAML editor, you can do so by having a step as below:

  - label: ":pipeline: Pipeline upload"
    command: buildkite-agent pipeline upload .buildkite/deploy.yml

Hope this clarifies! Let us know for any questions.