Dear Pulsar community members, I'm very happy to see a lot of activity in Pulsar development. This is a positive thing. The negative impact of this is that it adds more load to the GitHub Actions based Pulsar CI. We have been seeing long build queues and slow feedback from Pulsar CI recently.
Since we cannot add more resources to Pulsar CI, we need to find other ways to reduce the load on Pulsar CI. Every developer can help reduce the load on Pulsar CI. Please don't open a PR to apache/pulsar when the work is in very initial stages. Every push to the pull request branch will trigger a lot of concurrent builds (about 25). By reducing the amount of PR pushes you can reduce the load on Pulsar CI. You don't have to stop developing and using CI for getting feedback. There is a better way to get CI feedback for early stages of development. The secret is that everyone has their personal CI on GitHub! Please take use of it when you have large changes which stay in WIP for long periods of time, and you push a lot of changes before the actual reviews start. Here are instructions to use your personal CI on GitHub. 1. Push your intended pull request changes to a new branch in your fork (the usual way you do it). 2. Open a pull request to your own fork. A.) These are the instructions for CLI: Install GitHub CLI from https://cli.github.com/ and configure it. With GH CLI, there's an easy way to open the PR to your own fork with a single command: gh pr create --repo=your_github_id/pulsar --base master --head your-pr-branch -f B.) You can also create a PR to your own fork in the GitHub UI when opening a new PR. To do so, first click on "compare across forks" and then choose your own fork as both the fork repository and head repository: [image: image.png] Notice: It's worth keeping your master branch in sync with apache/pulsar's master so that the PR diff will be reasonable in your own fork. Here's one way to sync your fork's master branch with apache/pulsar's master branch: Let's say if you have git remotes called "upstream" for apache/pulsar and "forked" for your fork, with these commands, you synchronize your fork's remote master branch with apache/pulsar's master branch: # replace "upstream" with the name of the git remote for apache/pulsar # replace "forked" with the name of the git remote for your fork of pulsar git fetch upstream git push -f forked upstream/master:master When you finally want to create a PR to apache/pulsar, it can be started from the command line (this will open a browser for filling in the PR details): gh pr create --repo=apache/pulsar --base master --head your-pr-branch --web I hope this helps in getting started with your personal Pulsar CI so that you can help reduce the load on actual Pulsar CI. Please continue sending a lot of PRs! :) BR, Lari