Skip to content

elephant-graveyard/build-load

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build-load License Go Report Card Tests Codecov Go Reference Release

Create synthetic load for shipwright-io/build

build-load

Examples

Build Runs

Kaniko buildrun

build-load \
  buildruns \
  --namespace=test-namespace \
  --cluster-build-strategy=kaniko \
  --source-url=https://github.com/EmilyEmily/docker-simple \
  --output-image-url=docker.io/boatyard \
  --output-secret-ref=registry-credentials

Buildpacks buildrun

build-load \
  buildruns \
  --namespace=test-namespace \
  --cluster-build-strategy=buildpacks-v3 \
  --source-url=https://github.com/sclorg/nodejs-ex \
  --output-image-url=docker.io/boatyard \
  --output-secret-ref=registry-credentials

Test Plan

Use Test Plan YAML

---
namespace: test-namespace
steps:
- name: kaniko
  buildSpec:
    source:
      url: https://github.com/EmilyEmily/docker-simple
      contextDir: /
    strategy:
      name: kaniko
      kind: ClusterBuildStrategy
    dockerfile: Dockerfile
    output:
      image: docker.io/boatyard
      credentials:
        name: reg-cred

- name: buildpacks
  buildSpec:
    source:
      url: https://github.com/sclorg/nodejs-ex
      contextDir: /
    strategy:
      name: buildpacks-v3
      kind: ClusterBuildStrategy
    output:
      image: docker.io/boatyard
      credentials:
        name: reg-cred

Run the test plan using:

build-load \
  buildruns-testplan \
  --testplan testplan.yml

The test plan can also be piped into the program using - as the filename and a here-doc YAML.

Setup

Download via Homebrew

brew install homeport/tap/build-load

Download via Curl to Pipe

The download script will work for Linux and macOS systems.

curl -fsL https://git.io/JTYKj | bash

Build from Source

It will compile the binary into /usr/local/bin.

git clone https://github.com/homeport/build-load.git
cd build-load
make install

Alternatively, run make build and pick the respective binary for your operating system from the binaries directory.

Development

Release Process

To promote a new version, create a new release in GitHub. This will trigger a build of the binaries using GitHub Actions and uploads them to the respective release automatically within a couple of minutes. As part of this process, the Homebrew tap is updated, too. The best way to create a new release is to use the GitHub CLI.

As a pre-requisite, a semver tool and the GitHub CLI are suggested on your system, for example on macOS:

  • semver tool

    curl --silent --fail --location https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver --output /usr/local/bin/semver && chmod a+rx /usr/local/bin/semver
  • GitHub CLI

    brew install gh

Example for creating a new patch release:

VERSION="v$(semver bump patch "$(git describe --tags --abbrev=0)")"
gh release create "$VERSION"

The CLI will interactively prompt for more details. You can leave everything empty, because the automation will set a title and release notes automatically.