build-load
Create synthetic load for shipwright-io/build
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:
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.