1. Resources
  2. /
  3. Changelog
  4. /
  5. GitHub Actions compatibility now runs reusable workflows, Docker actions and service containers

GitHub Actions compatibility now runs reusable workflows, Docker actions and service containers

Buildkite's GitHub Actions OSS plugin is in public preview. You run your compatible GitHub Actions workflows in Buildkite unchanged, evaluate as you go, and move to a full Buildkite pipeline when you're ready.

This release adds reusable workflows, Docker-based actions, and service containers.

Reusable workflows

You can now call reusable workflows directly, whether they live in a public repo or a .github repo, and pass inputs built from a job's needs outputs. Repository-local reusable workflows go further: they can forward secrets, named or with secrets: inherit, and run inside a shared concurrency group.

Docker actions and containers

Dockerfile-based actions run now, arguments and all, and you can set a job's container image from an expression such as a matrix value, resolved when the workflow compiles. Hosted images include Docker, so container jobs need no setup.

Service containers work on Linux. A job can start up to 32 service containers alongside it, such as the databases or caches its tests need, with registry credentials and health checks. The job itself can also run inside a container image.

macOS on Apple Silicon

GitHub Actions workflows run on native Apple Silicon (macOS arm64) hosted runners. You set runs-on: macos-latest and the workflow maps to a hosted macOS queue, or you map macos-14, macos-15 and other labels to your own queues. Runner resolution is server-authoritative, so a label the platform can place resolves with a fallback warning instead of failing. macOS runners do not support containers, services or Docker, and there is no GitHub image, toolchain or Xcode parity, so check your tools are on the runner.

More shells

Workflow steps can now run in Python, R, Julia, or any custom shell template, in addition to the shells already supported.

Fewer papercuts

Top-level permissions: write-all and permissions: read-all are now recognised, matching GitHub's shorthand for granting or restricting all scopes at once. The compatibility layer is also more forgiving of the action versions teams actually use in the wild, admitting older releases of actions/checkout (v1 and v2) and actions/upload-artifact that were previously rejected.

Try it

The GitHub Actions plugin is open source and runs your existing workflows on Buildkite's hosted agents. The docs cover setup and list what is and is not supported. These changes are live for anyone already running it.

Found a gap or a bug? Open an issue on the buildkite-gha repo and help us prioritise what to work on next.

Simone

Atom feed

Start turning complexity into an advantage

Create an account to get started for free.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services
  10. CI/CD perspectives

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for MLOps
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Compare

  1. Buildkite vs GitHub Actions
  2. Buildkite vs Depot

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement
  6. Supplier Code of Conduct
  7. Modern Slavery Statement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2026