21. Partner Tasks in Build/Test Pipelines

Date: 2023-03-06

Status

Accepted

Context

Associated business ask https://issues.redhat.com/browse/STONE-549

Decision

Plumbing

  1. Setup a new Git high-level directory in https://github.com/redhat-appstudio/build-definitions for partners to contribute Tasks to.
  2. Define a directory structure for Task submissions as manifests in the yaml format.
  3. Configure a CI job that validates the Tasks upon opening of a pull request.
  4. Optionally, configure a CI job that generates an OCI artifact consumable in a Tekton Pipeline.

Day-to-day operations

Adding/Updating a Task

  1. Partner opens a PR with a new/updated Task.
  2. CI tests do the due diligence on the changes proposed in the PR. Success/Failures are reported in a way that the PR author can take reasonable action to resolve the issue.
  3. Upon approval from the Build/Test team, the changes are merged.

Revoking a Task

  1. Open a PR to delete the Task.
  2. The Build/Test team reviews the PR and merges it.
  3. The Build/Test team updates the https://github.com/redhat-appstudio/build-definitions to remove references to the Task’s OCI image whenever it is reasonable to do so.

Definition of a valid Task

The due diligence is a transparent-to-the-Task-contributor CI job that’s running on the repository that validates the Task before we merge it in.

Please see the following as prior art:

  1. See CI Results in https://github.com/tektoncd/catalog/
  2. https://github.com/k8s-operatorhub/community-operators/
  3. https://github.com/openshift-helm-charts/charts

A non-exhaustive list of checks that would be run on a Task is:

Out-of-scope

Alternatives

Consequences