Releases: openshift-pipelines/pipelines-as-code
0.8.0
OpenShift Pipelines As Code version 0.8.0
We are thrilled to announce the release of Pipelines as Code 0.8.0 🥳
This release brings new features and many more improvements. The highlights are :
- tkn-pac repo delete command which will allow you to delete a Repository CR and its associated secrets
- Support of
/test <pipelineRun-name>command which will trigger a specific pipelineRun from the git repository

- Adds Gitea Support (limited Support) for dev and offline demo. Please checkout the documentation here
Installation
To install this version you can install the release.yaml with kubectl for your platform :
Openshift
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.8.0/release.yamlKubernetes
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.8.0/release.k8s.yamlDocumentation
documentation is available here :
Changelog
- 2a77da8: Add a proper example to the api url for bserver (@chmouel)
- b765038: Add tkn-pac repo delete command (@chmouel)
- 3d0a910: Ask user which provider if unable to detect from the repo URL (@sm43)
- 07a0dcd: Better documentation when creating webhook token (@chmouel)
- 8302501: Bitbucket Cloud: .tekton/ subtree support (@chmouel)
- fb677f6: Bitbucket Cloud: adds support for
/test <pipelinerun-name>comment (@sm43) - ee59e28: Bitbucket Server: adds support for
/test <pipelinerun-name>comment (@sm43) - b4acfcd: Don't apply for ACL on push (@chmouel)
- 2fe135b: Fixes docs (@sm43)
- 7b8e1fb: Fixes lint error for multiple if-else (@sm43)
- ac31074: GitLab: adds support for
/test <pipelinerun-name>comment (@sm43) - 2906d4f: Gitea fixes (@chmouel)
- 91d4154: Refactors code: move common func to provider so that can be shared (@sm43)
- d50f502: Remove Username/password from repo url before printing (@sm43)
- 8a3c9a9: Replace fmt.Print with cobra stdoutwriter (@sm43)
- 31cfed4: Skip inlining Custom Task (@vdemeester)
- 8ba6dfd: Update docs for /test comment (@sm43)
- c009a94: Update docs for required scopes in a token for webhook (@sm43)
- 2f33200: Update go-bitbucket to latest (@chmouel)
- 4f6559c: Update to go 1.17 (@chmouel)
- 7f29fa6: Update webhook CLI docs (@sm43)
- cf46764: Updates github webhook docs (@sm43)
- 8052fdf: Use RHEL UBI 8.6 as base image (@chmouel)
- c25ee99: add (semi only for dev) support for Gitea (@chmouel)
- a66a482: add -v to go test so we can see tests running live (@chmouel)
- 17f580e: add GO_TEST_FLAGS to make e2e-test (@chmouel)
- b1f76fc: add e2e test for /test comment (@sm43)
- f9b68e0: add provider type to the labels (@chmouel)
- 0cb146b: address docs comment on pr (@sm43)
- 305c4aa: allow /test comment run a o (@sm43)
- fe71109: ask ghe url if not a github.com repository (@sm43)
- 08187eb: ask gitlab url if not a public gitlab repository (@sm43)
- 2c80f6f: cleanup a test that didn't need to be that verbose (@chmouel)
- 7ab9ae5: create webhook secret with same name as repository created (@sm43)
- f5d16da: detect if the user have a \n in secret and warn it (@chmouel)
- 47b9f03: disable pipelines as code bundle install first when doing manual (@chmouel)
- 3d45e0d: fix github token 🤦 (@chmouel)
- b8af58f: fix go-toolset image to 1.17.7 (@chmouel)
- fa920b6: fix golangci-lint 1.46 warning (@chmouel)
- b00d71e: fix secret in workflow to GH_APPS_TOKEN (@chmouel)
- 8dbcf6b: fix some urls and kubeconfig definition for e2e (@chmouel)
- d5e0f75: fix some vale error :eyeroll: (@chmouel)
- aaf3b8c: fixes docs in GH app installation (@sm43)
- 4b9b75e: gitlab: use subtle constant time comparaison (@chmouel)
- 11b4653: readd GO_TEST_FLAGS to make coverage working (@chmouel)
- 9866575: readd kind e2e tests on pr (@chmouel)
- be424d7: remove nestif from golangci-lint, it's more annoying (@chmouel)
- e2ba72a: reuse GH_APP_TOKEN, it wasn't working previously (@chmouel)
- c5b9146: skip asking git repo if we already know for webhook (@sm43)
- d3c554a: trigger only the pipelinerun which is passed in /test command (@sm43)
- 5669d67: update sample with webhook secret (@chmouel)
- 6564de7: use hac/dev/kind/install.sh in install script (@chmouel)
- ca24d13: use internal secrets.github_token for CI (@chmouel)
- 7947341: use write contents permission to be able to write to repo (@chmouel)
0.7.1
OpenShift Pipelines version 0.7.1
OpenShift Pipelines as Code patch version 0.7.1 has been released 🥳
This release fixes the failure to report actual status of failed pipelinerun.
Installation
To install this version you can install the release.yaml with kubectl for your platform :
Openshift
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.7.1/release.yamlKubernetes
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.7.1/release.k8s.yamlDocumentation
documentation is available here :
Changelog
0.7.0
OpenShift Pipelines version 0.7.0
OpenShift Pipelines as Code version 0.7.0 has been released 🥳
0.7.0 brings many new features. The highlights are :
- Multiple pipelinerun on the same event. We previously would only support one Pipelinerun matching one Event. We now support multiple of them, the pipelineruns will be run in parallel and report back to the Git provider interface :
Screen.Recording.2022-04-29.at.13.57.38.mov
- tkn pac repo create now let you create a webhook configuration for gitlab or for github. It should detect as well which provider you previously installed on the cluster and skip webhook configuration if it needs to be.
- PAC generally report better errors when it fails to apply the PipelineRun.
Breaking Change
- We now have a special template variable that is able to handle multiple pipelineruns for private repositories support. You would need to change your secret from :
"secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}"to :
secret: {{ git_auth_secret }}when detecting the old secret, pac wil fail the PR and ask kindly to the user to update it.
Installation
To install this version you can install the release.yaml with kubectl for your platform :
Openshift
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.7.0/release.yamlKubernetes
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.7.0/release.k8s.yamlDocumentation
full documentation is available here :
Changelog
- 23749ec: Add branch/tag to the generated documentation (@chmouel)
- 2ca1557: Add more debugging technique information in dev docs (@chmouel)
- a5d49d3: Add note about parallel testing. (@chmouel)
- 2278c6e: Add tools links and description (@chmouel)
- ea60d90: Adds event name in skipped event logs (@sm43)
- d1a5b5a: Allow configuring webhook even if github app is configured (@sm43)
- b0ab772: Better error message when we fail to apply PR (@chmouel)
- b46b9f6: Configure Gitlab webhook using PAC CLI (@sm43)
- 6f8bc7b: Confirm with use whether to use detected controller url (@sm43)
- 42ff292: Detect if we need to update the PipelineRun (@chmouel)
- ce8f333: Fix saving the golang cache (@chmouel)
- 6f4ca17: Fixes bootstrap cmd for OpenShift cluster (@sm43)
- 14ac069: Generate git auth secret randomly to a variable (@chmouel)
- c87d5b2: Get SHA from Before if head_commit is not passed. (@chmouel)
- b41d2b4: Give better reasons when not detecting payload (@chmouel)
- da14fcb: Move the schema initialization to init() (@chmouel)
- 262491a: Moved to GHCR (@chmouel)
- 04b764c: Refactor pipelinerun matchings to its own (@chmouel)
- 5e79454: Refactor webhook by CLI (@sm43)
- 69fddee: Remove emojis on the side on github checks status (@sm43)
- d89db11: Repo create cmd provides an option to configure GitHub webhook (@sm43)
- 07cef1f: Separate docs gen from pullreq PipelineRun (@chmouel)
- a75f141: Update badge link (@chmouel)
- a7aaf19: Update bootstrap cmd to add controller url in info configmap (@sm43)
- 0977c36: Update docs/content/dev/_index.md (@chmouel)
- 7f5ccc5: Update docs/content/docs/guide/authoringprs.md (@chmouel)
- bcfc314: Updates Repository CRD for updated secret keys (@sm43)
- 34ca00f: Upload to AUR from goreleaser (@chmouel)
- d5f2427: Uses separate logger while processing event to easily filter out logs (@sm43)
- f4b86eb: add -l to the replay script for localhost debug (@chmouel)
- 36a176b: add docs on how to develop docs via hugo for dev (@chmouel)
- 6acad5c: add install-kind script here. (@chmouel)
- 90a44ca: add makefile target and readme to install-kind (@chmouel)
- bc759fe: add multiple pipelines e2e tests (@chmouel)
- 050f6fb: add provider in configmap and move updating to end of bootstrap (@sm43)
- b920ac4: addressed comments on the pr (@sm43)
- d030afd: adds comment for the info configmap about why it is required (@sm43)
- b3ecb01: adds flag for hosted gitlab url for webhook (@sm43)
- e7cc68e: adds flag to configure only webhook (@sm43)
- d3f85be: adds flag to provide ghe url (@sm43)
- 411c25c: adds pipelines-as-code-info cm read accessible to all authenticated (@sm43)
- f0455f4: adds test for github flow (@sm43)
- 4cb30b7: allow bootstrap if existing provider is GitHub App/webhook (@sm43)
- 76d5f9f: build on ghcr with actions (@chmouel)
- a1771bf: create webhook secret and configure with repository cr (@sm43)
- b7a2581: display pipelinerunname when posting as comment (@chmouel)
- 1644d7f: don't upload to AUR from goreleaser until we get #3076 goreleaser released (@chmouel)
- f3aa840: don't use bash directly (@chmouel)
- 7d732bc: enable gitinfo on docs (@chmouel)
- 291b19a: fix generate cmd for pipelinerun name (@sm43)
- b3986c9: fix lint error (@sm43)
- 7a6fbae: fix make fumpt properly (@chmouel)
- 00bc9d7: fix runafter to be at the right place again (@chmouel)
- 3b54e44: fix typos in bootstrap cmd (@sm43)
- 883af7f: fixes broken links, words, spell in docs (@sm43)
- 7b5136b: fixes github api url (@sm43)
- a38f2e5: fixes gitlab webhook configuring for detected controller url (@sm43)
- da2dd76: fixes lint errors (@sm43)
- badb77b: fixes unit test and lint errors (@sm43)
- bc06f4f: fixup! Generate git auth secret randomly to a variable (@chmouel)
- e5d7d46: gitlab: .tekton/ subtree support (@chmouel)
- 8affedb: hide secret/token while taking input from user (@sm43)
- f02e73f: make e2e test for gitlab and bitbucket multiple providers aware (@chmouel)
- b9435e1: match multiple pipelineruns on the same events (@chmouel)
- e524518: move asking user confirmation to shared file (@sm43)
- 95b9739: need to pass --force-configure to override existing gh app (@sm43)
- 02ce11c: need to pass --github-webhook to configure webhook if app is already (@sm43)
- 2168f5a: remove some double != nil error (@chmouel)
- 69dad30: rename e2e tests action template (@chmouel)
- 8e281b4: save e2e test repository in artifacts too (@chmouel)
- 235830c: skip bootstrap app if webhook is already configured (@sm43)
- d1e6ab2: skip recreate secret question as we have force-configure flag (@sm43)
- bbc1420: switch to ghcr for generating release.yaml :partytime: (@chmouel)
- d318e9b: switch to gosmee for E2E test (@chmouel)
- bde5de3: today is not my day git-clone is called fetch (@chmouel)
- 85a1963: update dev documentation (@chmouel)
- 3f60302: update info configmap if webhook is configured before github apps (@sm43)
- 077f74a: updates bootstrap github-app cmd to check if webhook is already configured (@sm43)
- 29196a3: updates docs and configmap comment (@sm43)
- 413cdba: updates docs for GitHub webhook (@sm43)
- abd6c58: updates message for asking namespace to user (@sm43)
- b2e6c6c: updates user question (@sm43)
- bf39883: use detected controller url for webhook (@sm43)
0.5.10
OpenShift Pipelines version 0.5.10
OpenShift Pipelines as Code version 0.5.10 has been released 🥳
To install this version you can just do :
VERSION=0.5.10
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/release-$VERSION/release.yamland make sure you follow the setup documentation :
https://github.com/openshift-pipelines/pipelines-as-code/tree/main/INSTALL.md
Changelog
0.6.1
OpenShift Pipelines version 0.6.1
OpenShift Pipelines as Code patch version 0.6.1 has been released 🥳
This fix, being able reporting the task breakdown on the provider interface when there is a failure.
This bring other fixes related to release and generation of the release yaml files.
Installation
To install this version you can install the release.yaml with kubectl for your platform :
Openshift
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.6.1/release.yamlKubernetes
kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/0.6.1/release.k8s.yamlDocumentation
documentation is available here :
What's Changed
- Don't fail immediately when we have an error by @chmouel in #570
- Generate stable refs instead of tags by @chmouel in #569
- Try to import the same fix as what we have on push by @chmouel in #576
Full Changelog: 0.6.0...0.6.1
0.5.9
OpenShift Pipelines version 0.5.9
OpenShift Pipelines as Code version 0.5.9 has been released 🥳
- This fix, being able reporting the task breakdown on the provider interface when there is a failure
To install this version you can just do :
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/release-0.5.9/release-0.5.9.yamland make sure you follow the setup documentation :
https://github.com/openshift-pipelines/pipelines-as-code/tree/0.5.9/INSTALL.md
Changelog
Full Changelog: 0.5.8...0.5.9
0.6.0
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.yamlKubernetes
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/release-0.6.0/release.k8s.yamltkn-pac
tkn pac boostrap- this will install the latest version and let you create a GitHub appstkn pac bootstrap --skip-github-app- this will just install the latest version.
Documentation
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};doneRoute/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-controllerRepo CRD changes
The default secret key for repository CRD are :
provider.token- previouslytokenwebhook.secret- previouslysecret
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
- 010bc25: ACL support, from comment and project/group level (@chmouel)
- 9b056c4: Add E2E Test badge to workflow (@chmouel)
- 0775cec: Add better comment in the default generated tmpl (@chmouel)
- fb312e0: Add check_run in bootstrap & remove commit comment (not supported) (@sm43)
- a9e272c: Add dev links (@chmouel)
- fba9cad: Add documentation (@chmouel)
- 6498ebc: Add gitlab e2e test (@chmouel)
- 040e653: Add gitlab env into gha workflow (@chmouel)
- 98ebbe9: Add info from where the branch come from (@chmouel)
- 12ba5c5: Add pagination (@chmouel)
- a35df38: Add preview URLS build (@chmouel)
- 3d2c3a6: Add pull request number template variable (@chmouel)
- d9327ad: Add push support (@chmouel)
- aabf58f: Add release process documentation (@chmouel)
- d247f5d: Add sender, source_branch, target_branch variables (@chmouel)
- 1007fb4: Add support for /retest and /ok-to-test (@chmouel)
- 6d51637: Add tekton and Openshift pipelines to readme (@chmouel)
- ffa9bd7: Add tests for pkg/consoleui and kinteract/labels (@chmouel)
- 467aebb: Add unit test for create sttus (@chmouel)
- 5bc6c55: Add vale grammar editing (@chmouel)
- 03ea1b2: Adds controller for PAC (@sm43)
- 91b2b28: Adds unit test for pac handler (@sm43)
- 8eaccc9: Allow replaying webhooks directly (@chmouel)
- 29ced5f: Apply suggestions from code review frm super SM43 (@chmouel)
- 86c6059: Better error reporting when Hub API is down (@chmouel)
- 7b0d636: Bitbucket-server: adds payload validation using webhook secret (@sm43)
- 62b8674: CI fixes for gh:actions and pac (@chmouel)
- 5492d9b: Cleanup: removes unnecessary rbac role for controller (@sm43)
- d824220: Create stable tags on release (@chmouel)
- 02ca95d: Detect if we have cluster task and use this for generation (@chmouel)
- becf3ca: Do buildah push to quay directly in pipeline (@chmouel)
- 705c4fe: Don't match a pipeline if we don't have annotation (@chmouel)
- 137bc69: Enables bitbucket cloud provider in controller (@sm43)
- 4bbfa38: Enables bitbucket server provider in controller (@sm43)
- ed7787b: Enables gitlab provider in controller (@sm43)
- 05b0c88: First jab at gitlab support (@chmouel)
- 1a0ade1: Fix cli href link (@chmouel)
- 1d2446b: Fix deb and rpm names generation on release (@chmouel)
- 17cf25c: Fix generating image (@chmouel)
- 7a2e61e: Fix github pull request trigger target (@chmouel)
- 0a9edd0: Fix link (@chmouel)
- 48db590: Fix markdown last comma (@chmouel)
- 2fcf40c: Fix running controller on Dockerfile (@chmouel)
- eb3acf2: Fix spelling (@chmouel)
- 63e0844: Fix unit test since we moved to use triggertarget instead of EventType (@chmouel)
- 7402411: Formatting for release-process.md (@chmouel)
- 72ac6c8: GitHub: removes unsupported event from bootstrap cmd and docs (@sm43)
- bf538df: Github pull req test (@sm43)
- 1afe13b: Gitlab: adds payload validation using webhook secret (@sm43)
- e2e4731: Implement Advanced event matching via CEL (@chmouel)
- 665ca3f: Improve replay-last-pr script (@chmouel)
- 442c722: Make sure we clean the test cache before running the tests (@chmouel)
- 1ac7a42: Make sure we strip refs/heads when exposing branch (@chmouel)
- 7d25892: Make test-unit less verbose (@chmouel)
- 72af6d2: More doc tweaking (@chmouel)
- 7ce3f42: Move common code for providers to a single place (@sm43)
- e2ef124: Move documentation to a hugo site (@chmouel)
- 3571133: Output a json message at the end after processing (@chmouel)
- ccf00e2: Parse event type and payload at single place (@sm43)
- c288b17: Pass all headers when replaying github requests (@chmouel)
- cbee724: Point to the release version when releasing in release (@chmouel)
- d8a3d40...
0.5.8
OpenShift Pipelines version 0.5.8
OpenShift Pipelines as Code version 0.5.8 has been released 🥳
This release fixes a pretty bad bug where timeout wasn't respected and pipelines will fail when going over 10 minutes (!!) :
3e0d392
We now generate pipelinerun using the git-clone ClusterTasks instead of the hub task if it's available on the cluster :
4c66b81
To install this version you can install the release.yaml with kubectl for your platform :
Installation
Openshift
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.8/release.yamlKubernetes
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.8/release.k8s.yamlDocumentation
full install documentation is available here:
https://github.com/openshift-pipelines/pipelines-as-code/blob/0.5.8/docs/install.md
0.5.7
OpenShift Pipelines version 0.5.7
OpenShift Pipelines as Code version 0.5.7 has been released 🥳
This release fixes following bugs :
- db8f587: Adds clusterrole so that non-admin user can access repository CR (@sm43)
- 0371f70: [gh app] Update exiting check run if there is one (@chmouel)
- 80df95e: fixes application id (@sm43)
To install this version you can install the release.yaml with kubectl for your platform :
Installation
Openshift
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.7/release.yamlKubernetes
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.7/release.k8s.yamlDocumentation
full install documentation is available here:
https://github.com/openshift-pipelines/pipelines-as-code/blob/0.5.7/docs/install.md
0.5.6
OpenShift Pipelines version 0.5.6
OpenShift Pipelines as Code patch version 0.5.6 has been released 🥳
This release fix minor bugs :
- 2a493cd: Create stable tags on release (@chmouel)
- f011a03: Read pac installation namespace from env (@sm43)
- 6fb444f: Repo create cmd: convert username to lowercase and then use it (@sm43)
To install this version you can install the release.yaml with kubectl for your platform :
Installation
Openshift
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.6/release.yamlKubernetes
kubectl apply -f https://raw.githubusercontent.com/openshift-pipelines/pipelines-as-code/0.5.6/release.k8s.yamlDocumentation
full install documentation is available here:
https://github.com/openshift-pipelines/pipelines-as-code/blob/0.5.6/docs/install.md
