Dear Pulsar community members, I would like to propose a change how Pull Request (PR) builds are handled in Pulsar CI.
In GitHub Actions, the default way to handle PR builds is to checkout GitHub provided merge_commit_sha . GitHub's merge_commit_sha is explained in this documentation: https://docs.github.com/en/rest/reference/pulls#get-a-pull-request "Before merging a pull request, the merge_commit_sha attribute holds the SHA of the test merge commit." Behind the scenes, GitHub automatically creates a "test merge commit" that merges the PR branch and the target branch (master). A pull request build won't be started at all if this test merge commit cannot be created without conflicts. In Pulsar GitHub Actions workflows, the PR builds happen for the HEAD commit on the pull request branch, without a merge to the master branch. *The downside of the approach used in the existing Pulsar CI is that the PR build won't pick up changes made in the master branch.* It is required to explicitly rebase or merge the master branch to the pull request branch to get the changes. Another disadvantage is that there's a higher chance that the PR breaks the master branch after the PR is merged. The isolated behavior might be seen as a benefit. The PR branch build will be only impacted by the changes made in the PR branch. However, using this type of setting isn't *Continuous* Integration (CI). The current custom build "diff-only" action ( https://github.com/apache/pulsar-test-infra/tree/master/diff-only) doesn't support merge_commit_sha . When switching to use merge_commit_sha instead of PR's head commit for git checkout, I'm suggesting to replace diff-only action with https://github.com/dorny/paths-filter action . paths-filter action doesn't have the limitations of diff-only action and uses GitHub API for resolving the changed files without a need to doing a checkout. It is a very high quality GitHub Action for adding conditional logic to Github Action workflows based on the files that have changed. What do others think about making this change, using GitHub's merge_commit_sha for PR builds instead of PR's HEAD commit? BR, Lari