1. Resources
  2. /
  3. Plugins
  4. /
  5. golang-cross-compile-buildkite-plugin

Golang Cross Compile Buildkite Plugin Build status

A Buildkite plugin for building golang binaries against different operating systems, archictures and versions of golang.

This plugin creates a step for each build target and runs them in parallel. It’s ideal for build matrixes against multiple architectures, operating systems and golang versions.

If you just need to build against a single target, use the simpler golang plugin, or if you want to avoid using docker you can use the the gopath checkout plugin.

Example

Build a golang binary across a set of architectures and versions.

steps:
  - plugins:
      - golang-cross-compile#v1.4.0:
          build: main.go
          import: github.com/buildkite/example
          targets:
            - version: "1.11"
              goos: linux
              goarch: amd64
              gomodule: "on"
            - version: "1.11"
              goos: windows
              goarch: amd64
              gomodule: "on"
            - version: "1.11"
              goos: darwin
              goarch: amd64
              gomodule: "on"

Configuration

build (optional)

The golang file to build. Can either be a relative package like ./cmd/helloworld or a path to a file like cli/main.go. Defaults to main.go

Example: 1.10.2

import(required)

The golang package to use in the gopath in the container.

Exmaple: github.com/buildkite/agent

bin-prefix(optional)

By default the basename of the import package is used for the binary name, use bin-prefix to specify a different one.

Exmaple: buildkite-agent

static(optional)

Create a statically compiled binary, useful for alpine docker images.

targets (required)

A list of targets to run in parallel. Each target can have a version, goos, goarch and gomodule.

License

MIT (see LICENSE)

The plugins listed on this webpage are provided for informational purposes only. They have not undergone any formal security review or assessment. While we strive to provide useful resources, we cannot guarantee the safety, reliability, or integrity of these plugins. Users are strongly advised to conduct their own security evaluations before downloading, installing, or using any plugin. By using these plugins, you acknowledge and accept any risks associated with their use. We disclaim any liability for any harm or damages arising from the use of the plugins listed.

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

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

Hosting options

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

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Webinars
  5. Plugins
  6. Case studies
  7. Events
  8. Migration Services
  9. Comparisons

Company

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

Solutions

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

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement

Support

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