Skip to content

v0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Apr 17:39
057a225

Release v0.4.0

Breaking Changes

  1. All Build custom resources (Build, BuildRun, BuildStrategy, ClusterBuildStrategy) moved from the build.dev group to shipwright.io.
  2. The build controller now installs in the "shipwright-build" namespace, with the deployment name "shipwright-build-controller".
  3. In Build, the git source fields httpProxy, httpsProxy, noProxy and flavor were removed.

Users currently running v0.3.0 should use the following procedure to upgrade to v0.4.0:

  1. Install v0.4.0 using the release YAML manifest.
  2. Download existing Build, BuildStrategy, and ClusterBuildStrategy objects from your cluster in YAML format.
  3. For each object, change the apiVersion from build.dev/v1alpha1 to shipwright.io/v1alpha1. Remove any identifiers and creation timestamps from the object's metadata.
  4. Run kubectl apply -f against each manifest to re-create the relevant object.

Once the desired Shipwright build objects have been migrated to the new api group, you can remove v0.3.0 from your cluster:

  1. Delete the build-operator namespace.
  2. (optional) Delete all BuildRun, Build, BuildStrategy, and ClusterBuildStrategy objects in the build.dev api group on the cluster.
  3. (optional) Delete the custom resource definitions for BuildRun, Build, BuildStrategy, and ClusterBuildStrategy in the build.dev api group.

Deprecations

The following API fields are marked deprecated, and will be removed in a subsequent release:

  1. BuildRun: status.succeeded and status.reason have been deprecated. Clients should inspect the status condition type Succeeded instead. Refer to the documentation for further information.

Features

#649 by SaschaSchwarze0: Expose configuration for the Burst and QPS settings of the kube-api client

#642 by zhangtbj: Add informers and listers for the advanced usages and simplify the generated clientset folder from pkg/client/build to pkg/client directly

#641 by qu1queee: Introduce new Failed Reasons for BuildRun Status.Conditions and enhance the scenarios when BuildRuns are marked as Failed.

#623 by SaschaSchwarze0: Exposing MaxConcurrentReconciles configuration of controllers to allow increasing them from the default (1) to be able to handle a larger amount of objects in the system

#617 by SaschaSchwarze0: Update Kaniko to v1.5.1 including better retry support for the image push to the container registry

#603 by SaschaSchwarze0: - Adding a sample build strategy for ko

Fixes

#710 by HeavyWombat: Fix nil-pointer dereference with panic in case Build spec Strategy field was not set.

#690 by ImJasonH: Tag nightly release images to avoid registry garbage collection

#639 by adambkaplan: Github actions: ensure nightly and release jobs are not run on contributor forks.

#622 by SaschaSchwarze0: Fixing the predicate functions for delete operations so that unnecessary reconciliations are omitted and a completed BuildRun does not get updated if the TaskRun gets deleted.

#592 by HeavyWombat: Fixed an issue where the build-controller fails to Reconcile with a panic due to a nil pointer dereference. The issue can arise in case there is a failed TaskRun with a pod that has still running (unfinished) containers.

#672 by xiujuan95: sourceURL validation is disabled by default.

API Changes

#683 by ImJasonH: Remove unused fields from GitSource

#674 by ImJasonH: BuildRun .status.succeeded and .status.reason are marked as deprecated in favor of .status.conditions.

#609 by ImJasonH: BREAKING: Rename API group from build.dev to shipwright.io

Docs

#669 by qu1queee: Ensure the README is easier to digest and that it highlights the main value for Shipwright users.

#610 by ImJasonH: BREAKING: Change installation namespace, SA, ClusterRole{Binding}, and Deployment names

#648 by mattui: Correct link the link of controller.yaml in configuration.md

Misc

#715 by SaschaSchwarze0: The Kaniko build strategy is updated to use v1.5.2 of Kaniko

#687 by ImJasonH: Update Go type and field names; no user-visible changes expected.Existing code to interact with the API is expected to work. When updating to new versions of the generated Go client, code will need to change to reference new field names.

#686 by ImJasonH: Status reason "SpecRuntimeSecretRefNotFound" changed to "SpecBuilderSecretRefNotFound" to accurately reflect its use.

#663 by xiujuan95: Tekton version is bumped to v0.21.0

#654 by SaschaSchwarze0: Adding the KILL capability to the Kaniko executor to allow it to kill daemon processes started by non-root

#646 by qu1queee: Remove last dependency to the operator-sdk

#635 by qu1queee: Make use of shipwright assets instead of random repositories.

#634 by qu1queee: Ensure default branch of repositories falls to HEAD when revision is not specified in the Build

#631 by zhangtbj: Renamed "build operator" to "build controller" in code and documentation.

#629 by mattcui: Add make target for generating crds through controller-gen

#595 by qu1queee: Restructure BuildRun reconcile code into separate classes.

#593 by qu1queee: Move controller/reconcile logic into reconciler pkg