Skip to content

v0.43.0

Choose a tag to compare

@tekton-pac-bot tekton-pac-bot released this 12 Mar 10:28
· 134 commits to main since this release
Immutable release. Only release title and notes can be modified.

Pipelines as Code version v0.43.0

OpenShift Pipelines as Code v0.43.0 has been released 🥳

Important

This is the latest release on openshift-pipelines before moving to tektoncd org

✨ Major changes and Features

  • Allow custom user agent for Gitea/Forgejo: Users can now configure a custom User-Agent header for Gitea and Forgejo providers, useful for identifying PAC instances in server logs.
  • Add comment strategy support for Gitea provider: Introduced comment update strategy support for the Gitea provider, allowing users to control how status comments are managed on pull requests.
  • Cache changed files in Gitea provider: Improved performance by caching changed files in the Gitea provider, reducing redundant API calls during pipeline runs.
  • Show helpful message when /retest has nothing to retest: When a user issues /retest but there are no failed PipelineRuns to retry, PAC now responds with a clear, informative message instead of silently doing nothing.

🐛 Bug Fixes

  • Restrict comment editing to PAC-owned comments (Gitea): Fixed an issue where PAC could inadvertently edit comments not created by its own identity on Gitea.
  • Restrict comment editing to PAC-owned comments (GitHub): Fixed the same comment ownership issue on the GitHub provider, ensuring PAC only edits its own comments.
  • Set PipelineURL for cached pipelines to resolve relative task paths: Fixed a bug where relative task references in cached pipelines failed to resolve because the PipelineURL was not being set.
  • Parse branch vs tag by 'tag:' in gitops-comments: Fixed gitops comment parsing to correctly distinguish between branch and tag references using the tag: prefix.
  • Preserve source_url on retest comment reruns (Gitea): Fixed an issue where the source URL was lost when retriggering runs via retest comments on Gitea.
  • Avoid webhook feedback loop on no-ops comment events: Prevented PAC from creating an infinite feedback loop when processing comment events that result in no operations.
  • Correct type for status options: Fixed incorrect type usage for provider status conclusion options.
  • Use positive check for InstallationID: Fixed label handling to use a positive check for InstallationID, preventing incorrect behavior with default values.
  • Workaround the GitLab diff API limit: Added a workaround for GitLab's diff API pagination limits, ensuring all changed files are detected even in large merge requests.

📚 Documentation Updates

  • Update Bitbucket Cloud docs for API tokens: Updated documentation to reflect the current API token authentication flow for Bitbucket Cloud.
  • Correct artifacthub API URL in docs: Fixed an incorrect ArtifactHub API URL in the documentation.
  • Revamp documentation site: Major documentation refresh with improved structure and navigation.
  • Refactor configmap documentation: Reorganized and clarified the configmap configuration reference.
  • Clarify App ID location in GitHub App details: Improved docs to make it clearer where to find the App ID in GitHub App settings.

⚙️ Chores

  • Consolidate JWT generation: Refactored GitHub JWT token generation into a single consolidated implementation.
  • Revert GitHub comment workaround: Removed a previously needed workaround for GitHub comment deduplication.
  • Constantize provider StatusOpt conclusion options: Refactored status option conclusions to use constants instead of raw strings.
  • Bump Forgejo SDK to v3: Updated the Forgejo SDK dependency to version 3.
  • Pin GitHub Actions to commit SHAs: Improved CI security by pinning all GitHub Actions to specific commit hashes.
  • Pin actions/checkout to a specific hash: Further CI security hardening by pinning the checkout action.
  • Bump actions/upload-artifact from 6.0.0 to 7.0.0: Updated CI dependency.
  • Bump actions/setup-go from 6.2.0 to 6.3.0: Updated CI dependency.
  • Bump actions/download-artifact from 7.0.0 to 8.0.0: Updated CI dependency.
  • Add task to generate AI release notes: Added a Tekton task for AI-powered release note generation.
  • Resolve golangci-lint issues: Fixed various linting warnings flagged by golangci-lint.
  • Fix docs generation tooling: Fixed the documentation build pipeline.
  • Sync PR template types with linter config: Aligned the PR template commit type list with the linter configuration.
  • Remove commit prefix checks in PR template: Simplified the PR template by removing commit prefix validation.
  • Reenable BitbucketDC and move more tests to GHE: Re-enabled Bitbucket Data Center e2e tests and migrated additional tests to GitHub Enterprise.
  • Split github_ghe job into 3 parallel chunks: Improved CI speed by parallelizing GHE test execution.
  • Implement file-based configuration for test environments: Added file-based config support for e2e test environment setup.
  • Use dynamic projects and smee for GitLab E2E: Improved GitLab e2e test isolation using dynamic projects and smee proxies.
  • Migrate GitHub webhook tests to GHE: Moved webhook tests from public GitHub to GitHub Enterprise for better test isolation.
  • Correct cache-fetch step reference in pipelines: Fixed an incorrect step reference in CI pipelines.
  • Update e2e workflow secrets configuration: Fixed e2e workflow secret references.

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/v0.43.0/release.yaml

Kubernetes

kubectl apply -f https://github.com/openshift-pipelines/pipelines-as-code/releases/download/v0.43.0/release.k8s.yaml

Documentation

The documentation for this release is available here :

https://release-v0-43-0.pipelines-as-code.pages.dev

What's Changed

  • chore: Reenable BitbucketDC and move more tests to GHE by @chmouel in #2497
  • refactor(providers): constantize provider StatusOpt conclusion options by @aThorp96 in #2384
  • fix: Correct type for status options by @chmouel in #2499
  • fix(providers): restrict comment editing to PAC-owned comments by @theakshaypant in #2488
  • feat: Allow custom user agent for Gitea/Forgejo by @chmouel in #2494
  • feat: Add task to generate AI release notes by @chmouel in #2500
  • fix: set PipelineURL for cached pipelines to resolve relative task paths by @mathur07 in #2416
  • fix(labels): use positive check for InstallationID by @theakshaypant in #2506
  • ci: Pin GitHub Actions to commit SHAs by @vdemeester in #2507
  • chore: Add second GitHub application ID to e2e tests by @chmouel in #2508
  • fix(gitops-comments): parse branch vs tag by 'tag:' by @mathur07 in #2505
  • feat: Add comment strategy support for Gitea provider by @chmouel in #2503
  • docs: update bitbucket cloud docs for api tokens by @zakisk in #2501
  • chore: Move back to startpaac for E2E testing by @chmouel in #2509
  • fix(gitea): preserve source_url on retest comment reruns by @chmouel in #2502
  • fix: Avoid webhook feedback loop on no-ops comment events by @chmouel in #2504
  • fix(e2e): add SinceSeconds support to pod log helpers by @zakisk in #2515
  • chore: increase sinceSeconds in Git Clone e2e test by @zakisk in #2516
  • test: split github_ghe job into 3 parallel chunks by @zakisk in #2517
  • chore: remove nightly from TestGithubGHEPullRequestGitCloneTask by @zakisk in #2518
  • revert GitHub comment workaround by @chmouel in #2511
  • chore: sync PR template types with linter config by @zakisk in #2522
  • chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #2521
  • test: Implement file based configuration for test environments by @chmouel in #2512
  • chore: remove all commit prefix checks in pr template by @zakisk in #2525
  • test: use dynamic projects and smee for GitLab E2E by @chmouel in #2524
  • fix(github): restrict comment editing to PAC-owned comments by @theakshaypant in #2487
  • test: move BadYaml e2e test from GitHub to GitLab by @chmouel in #2526
  • docs: correct artifacthub API url in docs by @zakisk in #2530
  • fix(gitlab): workaround the gitlab diff API limit when necessary by @aThorp96 in #2482
  • New docs by @chmouel in #2532
  • Refactor configmap documentation by @chmouel in #2535
  • fix: use correct os name for mac in htmltest by @zakisk in #2536
  • fix: show helpful message when /retest has nothing to retest by @mathur07 in #2399
  • ci: correct cache-fetch step reference in pipelines by @theakshaypant in #2537
  • test(e2e): migrate GitHub webhook tests to GHE by @theakshaypant in #2529
  • refactor(test): restructure GitHub GHE test setup by @theakshaypant in #2540
  • chore: fix docs generation by @chmouel in #2538
  • test: improve GHE webhook test reliability and naming by @theakshaypant in #2542
  • Bump forgejo sdk to v3 by @chmouel in #2544
  • chore(doc-update): Clarify App ID location in GitHub App details by @mathur07 in #2546
  • test: add e2e for GitLab comment update strategy by @chmouel in #2531
  • test(gitlab): fix CEL expression in update strategy test by @theakshaypant in #2547
  • fix(lint): resolve golangci-lint issues by @chmouel in #2551
  • fix: use correct installation id in ghe pull request test by @zakisk in #2548
  • chore(deps): bump actions/setup-go from 6.2.0 to 6.3.0 by @dependabot[bot] in #2520
  • refactor(github): consolidate JWT generation by @theakshaypant in #2541
  • chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in #2519
  • fix: update e2e workflow secrets configuration by @chmouel in #2555
  • fix: pin actions/checkout to a specific hash by @chmouel in #2556
  • test(ghe): correct PLR count in regex marker test by @theakshaypant in #2558
  • feat: cache changed files in Gitea provider by @chmouel in #2552

Full Changelog: v0.42.0...v0.43.0