This is an automated email from the ASF dual-hosted git repository. lhotari pushed a commit to branch branch-4.2 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 6d8533981813cd5c14facd8bd1e6186ce2fb1ff9 Author: Lari Hotari <[email protected]> AuthorDate: Thu Apr 16 12:11:20 2026 +0300 [cleanup][ci] Remove ready-to-test label enforcement (#25470) (cherry picked from commit 865e276510bb5ab0a55d0d89aa3a927203e70b10) --- .github/PULL_REQUEST_TEMPLATE.md | 26 ---------- .github/workflows/ci-go-functions.yaml | 8 --- .github/workflows/pulsar-ci-flaky.yaml | 8 --- .github/workflows/pulsar-ci.yaml | 8 --- build/pulsar_ci_tool.sh | 91 ---------------------------------- 5 files changed, 141 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c148e8f61da..01bb7fe0476 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -70,29 +70,3 @@ This change added tests and can be verified as follows: - [ ] The admin CLI options - [ ] The metrics - [ ] Anything that affects deployment - -### Documentation - -<!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. --> - -- [ ] `doc` <!-- Your PR contains doc changes. --> -- [ ] `doc-required` <!-- Your PR changes impact docs and you will update later --> -- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs --> -- [ ] `doc-complete` <!-- Docs have been already added --> - -### Matching PR in forked repository - -PR in forked repository: <!-- ENTER URL HERE --> - -<!-- -After opening this PR, the build in apache/pulsar will fail and instructions will -be provided for opening a PR in the PR author's forked repository. - -apache/pulsar pull requests should be first tested in your own fork since the -apache/pulsar CI based on GitHub Actions has constrained resources and quota. -GitHub Actions provides separate quota for pull requests that are executed in -a forked repository. - -The tests will be run in the forked repository until all PR review comments have -been handled, the tests pass and the PR is approved by a reviewer. ---> diff --git a/.github/workflows/ci-go-functions.yaml b/.github/workflows/ci-go-functions.yaml index d3a1da2fa4d..44dc55f5670 100644 --- a/.github/workflows/ci-go-functions.yaml +++ b/.github/workflows/ci-go-functions.yaml @@ -60,14 +60,6 @@ jobs: echo docs_only=false >> $GITHUB_OUTPUT fi - - name: Check if the PR has been approved for testing - if: ${{ steps.check_changes.outputs.docs_only != 'true' && github.repository == 'apache/pulsar' && github.event_name == 'pull_request' }} - env: - GITHUB_RUN_ATTEMPT: ${{ github.run_attempt }} - GITHUB_TOKEN: ${{ github.token }} - run: | - build/pulsar_ci_tool.sh check_ready_to_test - check-style: needs: preconditions if: ${{ needs.preconditions.outputs.docs_only != 'true' }} diff --git a/.github/workflows/pulsar-ci-flaky.yaml b/.github/workflows/pulsar-ci-flaky.yaml index cc2174d9312..2d35d63c271 100644 --- a/.github/workflows/pulsar-ci-flaky.yaml +++ b/.github/workflows/pulsar-ci-flaky.yaml @@ -153,14 +153,6 @@ jobs: github.event_name == 'workflow_dispatch' && github.event.inputs.netty_leak_detection || 'report' }}" >> $GITHUB_OUTPUT - - name: Check if the PR has been approved for testing - if: ${{ steps.check_changes.outputs.docs_only != 'true' && github.repository == 'apache/pulsar' && github.event_name == 'pull_request' }} - env: - GITHUB_RUN_ATTEMPT: ${{ github.run_attempt }} - GITHUB_TOKEN: ${{ github.token }} - run: | - build/pulsar_ci_tool.sh check_ready_to_test - build-and-test: needs: preconditions name: Flaky tests suite diff --git a/.github/workflows/pulsar-ci.yaml b/.github/workflows/pulsar-ci.yaml index 03e83e11a5b..f8cb682896c 100644 --- a/.github/workflows/pulsar-ci.yaml +++ b/.github/workflows/pulsar-ci.yaml @@ -201,14 +201,6 @@ jobs: github.event_name == 'workflow_dispatch' && github.event.inputs.netty_leak_detection || 'report' }}" >> $GITHUB_OUTPUT - - name: Check if the PR has been approved for testing - if: ${{ steps.check_changes.outputs.docs_only != 'true' && github.repository == 'apache/pulsar' && github.event_name == 'pull_request' }} - env: - GITHUB_RUN_ATTEMPT: ${{ github.run_attempt }} - GITHUB_TOKEN: ${{ github.token }} - run: | - build/pulsar_ci_tool.sh check_ready_to_test - build-and-license-check: needs: preconditions name: Build and License check diff --git a/build/pulsar_ci_tool.sh b/build/pulsar_ci_tool.sh index ac2b9173af0..672289d3ac5 100755 --- a/build/pulsar_ci_tool.sh +++ b/build/pulsar_ci_tool.sh @@ -170,97 +170,6 @@ function ci_move_test_reports() { ) } -function ci_check_ready_to_test() { - if [[ -z "$GITHUB_EVENT_PATH" ]]; then - >&2 echo "GITHUB_EVENT_PATH isn't set" - return 1 - fi - - PR_JSON_URL=$(jq -r '.pull_request.url' "${GITHUB_EVENT_PATH}") - echo "Refreshing $PR_JSON_URL..." - PR_JSON=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" "${PR_JSON_URL}") - - if printf "%s" "${PR_JSON}" | jq -e '.draft | select(. == true)' &> /dev/null; then - echo "PR is draft." - elif ! ( printf "%s" "${PR_JSON}" | jq -e '.mergeable | select(. == true)' &> /dev/null ); then - echo "PR isn't mergeable." - else - # check ready-to-test label - if printf "%s" "${PR_JSON}" | jq -e '.labels[] | .name | select(. == "ready-to-test")' &> /dev/null; then - echo "Found ready-to-test label." - return 0 - else - echo "There is no ready-to-test label on the PR." - fi - - # check if the PR has been approved - PR_NUM=$(jq -r '.pull_request.number' "${GITHUB_EVENT_PATH}") - REPO_FULL_NAME=$(jq -r '.repository.full_name' "${GITHUB_EVENT_PATH}") - REPO_NAME=$(basename "${REPO_FULL_NAME}") - REPO_OWNER=$(dirname "${REPO_FULL_NAME}") - # use graphql query to find out reviewDecision - PR_REVIEW_DECISION=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" -X POST -d '{"query": "query { repository(name: \"'${REPO_NAME}'\", owner: \"'${REPO_OWNER}'\") { pullRequest(number: '${PR_NUM}') { reviewDecision } } }"}' https://api.github.com/graphql |jq -r '.data.repository.pullRequest.reviewDecision') - echo "Review decision for PR #${PR_NUM} in repository ${REPO_OWNER}/${REPO_NAME} is ${PR_REVIEW_DECISION}" - if [[ "$PR_REVIEW_DECISION" == "APPROVED" ]]; then - return 0 - fi - fi - - FORK_REPO_URL=$(jq -r '.pull_request.head.repo.html_url' "$GITHUB_EVENT_PATH") - PR_BRANCH_LABEL=$(jq -r '.pull_request.head.label' "$GITHUB_EVENT_PATH") - PR_BASE_BRANCH=$(jq -r '.pull_request.base.ref' "$GITHUB_EVENT_PATH") - PR_URL=$(jq -r '.pull_request.html_url' "$GITHUB_EVENT_PATH") - FORK_PR_TITLE_URL_ENCODED=$(printf "%s" "${PR_JSON}" | jq -r '"[run-tests] " + .title | @uri') - FORK_PR_BODY_URL_ENCODED=$(jq -n -r "\"This PR is for running tests for upstream PR ${PR_URL}.\n\n<!-- Before creating this PR, please ensure that the fork $FORK_REPO_URL is up to date with https://github.com/apache/pulsar -->\" | @uri") - if [[ "$PR_BASE_BRANCH" != "master" ]]; then - sync_non_master_fork_docs=$(cat <<EOF - \\$('\n') - If ${FORK_REPO_URL}/tree/${PR_BASE_BRANCH} is missing, you must sync the branch ${PR_BASE_BRANCH} on the command line. - \`\`\` - git fetch https://github.com/apache/pulsar ${PR_BASE_BRANCH} - git push ${FORK_REPO_URL} FETCH_HEAD:refs/heads/${PR_BASE_BRANCH} - \`\`\` -EOF -) - else - sync_non_master_fork_docs="" - fi - - >&2 tee -a "$GITHUB_STEP_SUMMARY" <<EOF - -# Instructions for proceeding with the pull request: - -apache/pulsar pull requests should be first tested in your own fork since the apache/pulsar CI based on -GitHub Actions has constrained resources and quota. GitHub Actions provides separate quota for -pull requests that are executed in a forked repository. - -1. Go to ${FORK_REPO_URL}/tree/${PR_BASE_BRANCH} and ensure that your ${PR_BASE_BRANCH} branch is up to date - with https://github.com/apache/pulsar \\ - [Sync your fork if it's behind.](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork)${sync_non_master_fork_docs} -2. Open a pull request to your own fork. You can use this link to create the pull request in - your own fork: - [Create PR in fork for running tests](${FORK_REPO_URL}/compare/${PR_BASE_BRANCH}...${PR_BRANCH_LABEL}?expand=1&title=${FORK_PR_TITLE_URL_ENCODED}&body=${FORK_PR_BODY_URL_ENCODED}) -3. Edit the description of the pull request ${PR_URL} and add the link to the PR that you opened to your own fork - so that the reviewer can verify that tests pass in your own fork. -4. Ensure that tests pass in your own fork. Your own fork will be used to run the tests during the PR review - and any changes made during the review. You as a PR author are responsible for following up on test failures. - Please report any flaky tests as new issues at https://github.com/apache/pulsar/issues - after checking that the flaky test isn't already reported. -5. When the PR is approved, it will be possible to restart the Pulsar CI workflow within apache/pulsar - repository by adding a comment "/pulsarbot rerun-failure-checks" to the PR. - An alternative for the PR approval is to add a ready-to-test label to the PR. This can be done - by Apache Pulsar committers. -6. When tests pass on the apache/pulsar side, the PR can be merged by a Apache Pulsar Committer. - -If you have any trouble you can get support in multiple ways: -* by sending email to the [dev mailing list](mailto:[email protected]) ([subscribe](mailto:[email protected])) -* on the [#contributors channel on Pulsar Slack](https://apache-pulsar.slack.com/channels/contributors) ([join](https://pulsar.apache.org/community#section-discussions)) -* in apache/pulsar [GitHub discussions Q&A](https://github.com/apache/pulsar/discussions/categories/q-a) - -EOF - return 1 -} - ci_snapshot_pulsar_maven_artifacts() { ( if [ -n "$GITHUB_WORKSPACE" ]; then
