Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions content/docs/blog/posts/2025-06-16-release-v0.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
title: "Shipwright v0.16 Is Here"
date: 2025-06-16T09:41:00Z
draft: false
author: "Enrique Encalada ([@qu1queee](https://github.com/qu1queee))"
---

We are happy to announce the latest release of Shipwright's main projects - `v0.16.0`.
In this release, besides new features and fixes, we're excited to announce that we've launched
a brand new [website](https://shipwright.io/)! It's been redesigned from the ground up to better showcase the project,
make it easier to navigate, and help you find everything you need. Special thank you to [@rxinui](https://github.com/rxinui) for this core contribution!

## Key Features

Below are the key features in this release:

### Improving Git Clone

The `source.git.depth` was added to the `Build` resource to specify the depth of the Git history.
If not specified the default value is 1 which means that no history is cloned at all, being the
fastest way to clone a Git repository. Any value greater than 1 will create a clone with the specified depth.
For a full git history clone, depth must be set to 0.

### Optimizing Controller Memory Footprint

Improve the Shipwright controller’s memory efficiency by restricting the manager cache to only TaskRuns and Pods associated with the controller. This is achieved by leveraging the `buildrun.shipwright.io/name` label to identify relevant resources. By narrowing the scope of what the manager caches, we significantly reduce memory usage.

### CLI: Maintenance Update
Comment thread
qu1queee marked this conversation as resolved.

The CLI was updated to support Build v0.16.0 APIs. Behind the scenes, this means it now uses the `v1beta1` API instead of `v1alpha1`. As a result, CLI operations are slightly faster, since they no longer go through the conversion webhook.

Additionally, two new flags have been introduced to support node scheduling and node selection capabilities:

- `--node-selector`: Sets the `.spec.nodeSelector` field for `Build` and `BuildRun` resources during creation.
- `--scheduler-name`: Sets the `.spec.schedulerName` field for `Build` and `BuildRun` during both creation and execution.

### Operator: Builds Upgrade

The operator was updated to deploy Builds v0.16.0.

## Installing Shipwright

### Build

1. Install Tekton v1.0.0:

```bash
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/previous/v1.0.0/release.yaml
```

2. Install v0.16.0 using the release YAML manifest:

```bash
kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.16.0/release.yaml --server-side

curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/v0.16.0/hack/setup-webhook-cert.sh | bash
```

3. (Optionally) Install the sample build strategies using the YAML manifest:

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

### CLI

#### Windows

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

#### Mac

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

#### Linux

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

### Operator

To deploy and manage Shipwright Builds in your cluster, first ensure the operator v0.16.0 is
installed and running on your cluster. You can follow the instructions on
[OperatorHub](https://operatorhub.io/operator/shipwright-operator).

Next, create the following:

```yaml
---
apiVersion: operator.shipwright.io/v1alpha1
kind: ShipwrightBuild
metadata:
name: shipwright-operator
spec:
targetNamespace: shipwright-build
```