feat: add ok-to-test workflow approval for external PRs #1134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This workflow solves the current bottleneck where external contributors must wait for maintainer approval to run any workflows, including functional tests.
Problem
Repository requires approval for all outside collaborators' fork PR workflows. Therefore, external contributors can't run functional tests until maintainer approval. Maintainers cannot approve without run functiona tests. This process forces manual local testing and functional validation, slowing down reviews. So we can't enjoy much from function tests and other tests in workflows.
In a short, it creates unnecessary friction between PR approval and workflow approval.
Solution
Add pr-approve-workflows.yaml to automatically approve pending workflow runs. Uses pull_request_target with elevated permissions for security and triggers when 'ok-to-test' label is added, separating PR review from workflow approval.
This enables external contributors to run functional tests immediately after maintainer adds the ok-to-test label, significantly reducing review time and eliminating the need for manual local testing.
This pattern is widely used in other opensource projects.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
Check List
make lint
)If CRDs are changed:
make manifests
) and also copied into the helm chartPlease refer to the PR guidelines before submitting this pull request.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.