Giter Site home page Giter Site logo

triarius / golang-cross-compile-buildkite-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from buildkite-plugins/golang-cross-compile-buildkite-plugin

0.0 1.0 0.0 112 KB

✨ Cross-Compile Go binaries across multiple operating system, architecture and Go versions in parallel

License: MIT License

Shell 99.17% Go 0.83%

golang-cross-compile-buildkite-plugin's Introduction

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.3.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)

golang-cross-compile-buildkite-plugin's People

Contributors

boomper-bot[bot] avatar harrietgrace avatar lox avatar nsuma8989 avatar pzeballos avatar renovate-bot avatar renovate[bot] avatar toolmantim avatar toote avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.