Buildkite notes

Published: Last updated:

This is a collection of notes for my own use. It probably isn't very helpful to you, unless you are (a) already familiar with Buildkite and (b) doing a weird dance with Windows, WSL2, and a Raspberry Pi. This stuff works on my machine.

If you've never heard of Buildkite, go check it out: Buildkite. It's a pretty cool continuous integration tool.

Serve the docs locally (using WSL2)

bin/rails server

Pipeline upload step

Paste this into the YAML steps editor when setting up a pipeline, so that you can use a pipeline.yml instead:

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

Target a particular agent

This is useful when running both a Pi and a Windows agent.

  - command: "<some command>"
    agents:
      os: "<os-tag>"

Relevant docs

This works:

steps:
  - label: "Pipeline upload"
    command: buildkite-agent pipeline upload
    agents:
      os: "<some-os-tag>"

Start the agent

# Powershell (with admin privileges)
nssm start buildkite-agent

# Bash (via Raspberry Pi)
# no, Git Bash doesn't entirely work
# yes, WSL2 seemed a can of worms
# and yes, working on this does require three operating systems
# I'm fine, how 'bout you?
~/.buildkite-agent/bin/buildkite-agent start

Docs for installing on generic Linux - use this for Pi
Docs for installing on Windows

Gotchas

Be aware of the following: