Skip to content

0.6.0

Compare
Choose a tag to compare
@chmouel chmouel released this 12 Apr 12:31
· 1353 commits to main since this release
a1a4897

Pipelines as Code 0.6.0

We are thrilled to announce the release of Pipelines as Code 0.6.0

This release brings many features and a new architecture, moving away from a triggers and task based flow to use a controller to control the PipelineRun execution.

If you are upgrading from a 0.5.x release, make sure to read the upgrade notes before installing the 0.6 release.

Install Notes

To install you can simply use kubectl.

OpenShift

kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/release-0.6.0/release.yaml

Kubernetes

kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/release-0.6.0/release.k8s.yaml

tkn-pac

  • tkn pac boostrap - this will install the latest version and let you create a GitHub apps
  • tkn pac bootstrap --skip-github-app - this will just install the latest version.

Documentation

https://pipelinesascode.com/

New Features

New Documentation Website

We have a new documentation website pipelinesascode.com.

New Controller

instead of using the tekton triggers eventlistenner to handle events, we are now using new controller, which allows us to have greater flexibility to manage the Runs.

A nice side effect is a much improved startup between the time the webhook is received to the time we report it on the Github/provider interfaces.

There is no user changes, the only difference will be the location of the Pipelines as Code logs inside the pipelines-as-code namespace, now located inside the controller logs instead of the individual TaskRun.

Add Gitlab support

We have added Gitlab support. Using a webhook, it will report back the status of the pipelines directly as a comment of the merge request, see the documentation for more info.

Documentation: https://pipelinesascode.com/docs/install/gitlab/

Advanced pipeline filtering with CEL

You are now able to use CEL to match a pipelinerun to an event. This allows a more flexible filtering on request to match PipelineRun to events.

Documentation: https://pipelinesascode.com/docs/guide/autoringprs/#advanced-event-matching

More template variables

New template variables has been added :

  • {{source_branch}}: The branch name where the event come from.
  • {{target_branch}}: The branch name on which the event targets (same as source_branch for push events).
  • {{pull_request_number}}: The pull or merge request number, only defined when we are in a pull_request event type.

Documentation: https://pipelinesascode.com/docs/guide/autoringprs/

Timeout from PipelineRun are now respected

We are now respecting the timeout parameter from the PipelineRun or from the Tekton controller. Unless the global setting default-pipelinerun-timeout in the pipelines-as-code configmap is set.

Documentation: https://pipelinesascode.com/docs/install/settings/

Upgrade Notes

Cleanup

Since we moved away from the triggers template, there will be some cleaning to do before installing the update.

Launch this command to clean up the resources manually :

for t in  TriggerBinding CronJob EventListener TaskRun TriggerBinding TriggerTemplate;do \
kubectl delete --all -n pipelines-as-code ${t};done

Route/Ingress change

Since we have moved to use a controller, the route on OpenShift or Ingress on Kubernetes may need to be updated. This is the target Service that needs to be used :

  to:
    kind: Service
    name: pipelines-as-code-controller

Repo CRD changes

The default secret key for repository CRD are :

  • provider.token - previously token
  • webhook.secret - previously secret

you may have to update your repo crds if you were using the previous defaults.

Default timeout on PipelineRun

We previously had a hard limit of 2 hours on every PipelineRun, we are now able to respect the settings as configured on the PipelineRun.

If you are upgrading, you may want to remove the default-pipelinerun-timeout setting from the configmap.

Changelog