We are excited to announce the release of Shipwright v0.19.0! This release brings meaningful new features for resource management, runtime flexibility, and improved developer experience.



Build Updates

Step Resources Override

You can now define stepResources in a Build or BuildRun to override the resource requests and limits of individual steps defined in a BuildStrategy or ClusterBuildStrategy. This gives you fine-grained control over CPU and memory allocation without having to modify the strategy itself.

RuntimeClass Support

A new runtimeClassName field has been added to both Build and BuildRun resources. This allows builds to leverage alternative container runtimes available on your cluster, enabling use cases such as confidential computing or other runtime-specific capabilities.

PipelineRun Execution Mode

This release introduces a foundational PipelineRun execution mode as an alternative to the existing TaskRun-based execution. This enables multi-pod builds using PVC-based workspace storage, laying the groundwork for more flexible build execution strategies in future releases.

Infrastructure and Dependency Updates

  • Updated to Tekton LTS v1.9.1
  • Upgraded base image to Red Hat UBI 10
  • Enhanced vulnerability scanning now uses both Grype and Trivy
  • The minimum supported Kubernetes version is now v1.33.0
  • The minimum supported Tekton version is now v1.0.0 (Tekton LTS v1.9.1 is recommended)

Bug Fixes

  • Fixed Tekton manifest URLs to point to infra.tekton.dev
  • Fixed the Ko build strategy to correctly handle Go modules with dependencies but no vendoring

Check out the full release notes on GitHub for further details.

CLI Updates

RuntimeClass Flag

The shp build create, shp build run and shp buildrun create commands now supports a --runtime-class flag, allowing you to specify a RuntimeClass for the build pod directly from the CLI:

  shp buildrun create my-build --runtime-class kata-containers
  

Package Extensibility

This release also introduces initialization options that make it easier to import the CLI as a Go package and extend its functionality programmatically.

See the CLI release notes on GitHub for further details.

Installing Shipwright

Build

  1. Install Tekton LTS v1.9.1:

      kubectl apply --filename https://infra.tekton.dev/tekton-releases/pipeline/previous/v1.9.1/release.yaml
      
  2. Install v0.19.0 using the release YAML manifest:

      kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.19.0/release.yaml --server-side
    
    curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/v0.19.0/hack/setup-webhook-cert.sh | bash
      
  3. (Optionally) Install the sample build strategies using the YAML manifest:

      kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.19.0/sample-strategies.yaml --server-side
      

CLI

Windows

  curl --silent --fail --location https://github.com/shipwright-io/cli/releases/download/v0.19.0/shp_0.19.0_windows_x86_64.tar.gz | tar xzf - shp.exe
shp version
shp help
  

Mac

  curl --silent --fail --location https://github.com/shipwright-io/cli/releases/download/v0.19.0/shp_0.19.0_macOS_$(uname -m).tar.gz | tar -xzf - -C /usr/local/bin shp
shp version
shp help
  

Linux

  curl --silent --fail --location "https://github.com/shipwright-io/cli/releases/download/v0.19.0/shp_0.19.0_linux_$(uname -m | sed 's/aarch64/arm64/').tar.gz" | sudo tar -xzf - -C /usr/bin shp
shp version
shp help
  

Operator

The operator release for v0.19.0 is forthcoming. Stay tuned to the operator releases page for updates.