build-load

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2022 License: Apache-2.0

README

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.

Directories

Path Synopsis
cmd
internal
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL