Skip to content

Instantly share code, notes, and snippets.

:shipit:
🎉

Tim Lucas toolmantim

:shipit:
🎉
Block or report user

Report or block toolmantim

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View 0-Readme.md

Firstly, build the Docker image:

curl https://gist.githubusercontent.com/toolmantim/c731730b4b4b7989f8f045956346bcfe/raw/Dockerfile | docker build -t bk -

Then try to use it in a project that has a buildkite pipeline.yml file:

docker run -it --rm -v "$(PWD):/app" bk run local
@toolmantim
toolmantim / step.sh
Created Nov 5, 2018
An example of dynamically adding a trigger step during a running Buildkite build
View step.sh
#!/bin/bash
set -euo pipefail
cat << YML | buildkite-agent pipeline upload
steps:
- trigger: "other-pipeline"
async: true
build:
message: "${BUILDKITE_MESSAGE}"
@toolmantim
toolmantim / buildkite.yml.schema.json
Last active Oct 21, 2018
JSON Schema for Buildkite Pipeline files
View buildkite.yml.schema.json
{
"title": "JSON schema for Buildkite pipeline configuration files",
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"label": {
"type": "string",
"description": "The label that will be displayed in the pipeline visualisation in Buildkite. Supports emoji.",
"examples": [ ":docker: Build" ]
},
"branches": {
@toolmantim
toolmantim / pipeline-2.yml
Last active Jun 17, 2018
Checking a prometheus
View pipeline-2.yml
steps:
- label: "🔍"
command: 'docker run --rm --entrypoint sh -v "$PWD/prometheus.yml:/src/prometheus.yml" prom/prometheus promtool check config /src/prometheus.yml'
@toolmantim
toolmantim / buildkite-bootstrap-wrapper-build-log-output
Last active Jun 11, 2018
An example custom Buildkite Agent bootstrap wrapper that logs the output of all build jobs.
View buildkite-bootstrap-wrapper-build-log-output
#!/bin/bash
set -euo pipefail
# A custom bootstrap wrapper that logs the output of all build jobs.
#
# To use this file, either set the env variable before starting the agent:
# BUILDKITE_BOOTSTRAP_SCRIPT_PATH=/path-to-this-file
#
# or the agent configuration key:
View 0-readme.md

Usage example:

$ docker-compose build
$ docker run -it --rm -v /some-local-plugin-path:/plugin:ro buildkite/plugin-example-validator /plugin/schema.yml /plugin/readme.md
🙌 Readme examples validate against the schema
@toolmantim
toolmantim / pipeline.yml
Created Oct 24, 2017
An example of using Taurus with Buildkite
View pipeline.yml
steps:
- command: "taurus.sh some-config.yml"
label: "Taurus"
artifact_paths: "bzt-artifacts/*"
@toolmantim
toolmantim / blazemeter
Created Oct 24, 2017
An example of using BlazeMeter with Buildkite
View blazemeter
#!/bin/bash
# Creates a new Blazemeter test with the given BLAZEMETER_TEST_ID env var
#
# Requires BLAZEMETER_API_ID and BLAZEMETER_API_SECRET environment variables be
# setup on the agent as per:
# https://buildkite.com/docs/agent/securing#using-environment-hooks-for-secrets
set -euo pipefail
@toolmantim
toolmantim / bootsnap.log
Created Oct 17, 2017
Before/after adding bootsnap
View bootsnap.log
$ # Before bootsnap
$ time DISABLE_SPRING=1 bin/rails r 'exit 0'
real 0m7.030s
user 0m4.429s
sys 0m2.499s
$ # Adding bootsnap
$ git diff -u
diff --git a/Gemfile b/Gemfile
index b6b7854cf..445cb572f 100644
@toolmantim
toolmantim / 0-Readme.md
Last active Aug 3, 2017
An example custom Buildkite bootstrap wrapper for optimizing git fetch with Phabricator builds
View 0-Readme.md

To test this bootstrap wrapper:

git clone https://gist.github.com/43de11658602b3f7c0e1921fcea7ac5f.git optimized-phabricator-bootstrap

cd optimized-phabricator-bootstrap

docker run \
  --rm \
  -it \
You can’t perform that action at this time.