Git Product home page Git Product logo

compat's Introduction

Buildkite Compat

A tool to transform pipelines from other CI providers to Buildkite

$ cat examples/circleci/basic.yml
version: 2
jobs:
  build:
    docker:
      - image: circleci/python:3.6.2-stretch-browsers
    steps:
      - checkout
      - run: pip install -r requirements/dev.txt

$ buildkite-compat examples/circleci/basic.yml
steps:
- label: ":circleci: build"
  key: "build"
  commands:
    - "sudo cp -R /buildkite-checkout /home/circleci/checkout"
    - "sudo chown -R circleci:circleci /home/circleci/checkout"
    - "cd /home/circleci/checkout"
    - "pip install -r requirements/dev.txt"
  plugins:
  - docker#v3.3.0:
      image: "circleci/python:3.6.2-stretch-browsers"
      workdir: "/buildkite-checkout"

Buildkite Compat can also be used via a HTTP API:

$ curl -X POST -F 'file=@examples/circleci/basic.yml' https://buildkite-compat.herokuapp.com
steps:
- label: ":circleci: build"
  key: build
  commands:
  - sudo cp -R /buildkite-checkout /home/circleci/checkout
  - sudo chown -R circleci:circleci /home/circleci/checkout
  - cd /home/circleci/checkout
  - pip install -r requirements/dev.txt
  plugins:
  - docker#v3.3.0:
      image: circleci/python:3.6.2-stretch-browsers
      workdir: "/buildkite-checkout"

The output can be piped directly into a buildkite-agent pipeline upload command:

$ curl -X POST -F '[email protected]/config.yml' https://buildkite-compat.herokuapp.com | buildkite-agent pipeline upload

Release

# This needs to be installed first https://github.com/pmq20/ruby-packer
curl -L http://enclose.io/rubyc/rubyc-darwin-x64.gz | gunzip > rubyc
chmod +x rubyc
mv /usr/local/bin

# Prepare release folders
rm -rf dist
mkdir dist
rubyc bin/buildkite-compat -o dist/buildkite-compat

compat's People

Contributors

dependabot[bot] avatar keithduncan avatar keithpitt avatar mattlandis avatar sj26 avatar yob 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.