create-pr
Create PR
Push the current branch to the user's fork of yugabyte/yugabyte-db and create a cross-repo GitHub pull request against the upstream using the gh CLI.
Contributors do not have push access to yugabyte/yugabyte-db. The branch must be pushed to a personal fork, and the PR is opened cross-repo from that fork into the upstream repo.
Confidentiality — read before you write anything public
The upstream repo, every GitHub issue, every PR title/description/comment, and every commit message are PUBLIC on the internet. Anything you (the agent) write into them is permanent and indexed by search engines. A leak cannot be unsent.
Never put any of the following into the GitHub issue (title/body/labels), the PR title, PR description, PR comments, commit messages, code comments, test code, test fixtures, golden output, or filenames:
- Customer-identifying data — company names, account IDs, universe/cluster names or UUIDs, support case numbers, environment names, region/zone names tied to a customer deployment. Substitute with
customer-1,acme-corp, or a generic description. - PII — real names, real email addresses, real phone numbers, real postal addresses, real IP addresses (public or private). In tests use only the documentation ranges: IPv4
192.0.2.0/24/198.51.100.0/24/203.0.113.0/24(RFC 5737), IPv62001:db8::/32(RFC 3849), hostnamesexample.com/example.org/example.net(RFC 2606), namesAlice/Bob/Carol, phone numbers555-0100–555-0199. - Unanonymized customer schema or queries — table names, column names, SQL text, query plans, or sample rows pulled from a real customer report. Reconstruct a synthetic minimal reproducer using generic identifiers (
t1,users,id,value) that demonstrates the same defect. - Secrets / credentials — API keys, tokens, passwords, TLS certificates, private keys, license keys, kubeconfigs, production S3 buckets, internal Slack/JIRA/Linear URLs, internal hostnames, vault paths. Use placeholders like
AKIAIOSFODNN7EXAMPLEin mocks. - YugabyteDB-internal information not yet public — unreleased roadmap, internal SLAs, embargoed security findings, internal infra hostnames.
This applies to the test code and test data you write too — .cc, .py, .java, .sql, golden .out files, YAML fixtures, mock responses, anything. If a customer's reproducer uses acme_orders with a customer_email column populated with real addresses, you must rewrite it as t1/email with user@example.com before the test goes anywhere near a PR.