LogoLogo
  • 👋Cal.com Handbook
  • The Company
    • ❓What is Cal.com?
    • 📈Mission, Vision and Values
    • 🅰️Glossary
    • 📈Organization Chart
  • HR & Careers
    • 👷Contract-to-hire trials
    • 🛫Onboarding
    • 🏆IC Levels
      • ⛰️Engineering Levels
        • 🕵️IC1 Engineer (Code Cadet)
        • 👷‍♀️IC2 Engineer (Code Craftsperson)
        • 🧘‍♀️IC3 Engineer (Code Connoisseur)
        • 🧙‍♂️IC4 Engineer (Code Wizard)
    • 💡Sharing your views
    • 💸Bonus & Equity Structure
  • Policies
    • 🏖️Vacations
    • 💳Expenses
    • 🗣️Communications
  • Engineering
    • 🔔Managing Notifications
    • ⭐Valuable Bookmarks
    • 🐛How to report issues
    • 💻How we work on Tickets
    • 🔥What to do during Emergencies
    • ✅PR Reviews
    • ☑️Self-reviews
    • 📚Keeping Docs up-to-date
    • 🌐HTTPS & Subdomains
    • 🎯Best practices
      • Data fetching
      • Avoid Prop Drilling
      • Prefer defaultHandler for simple API handlers
      • Prefer inferred types over explicit ones
      • Prefer early returns
      • Avoid comparing multiple values with `includes`
      • Validate using zod instead of type casting
      • Prefer Composition over Prop Drilling
      • Prefer ternaries over Short Circuiting “&&” for React Components
      • Don't modularize prematurely
      • Only select data you need
      • Disallowing the use of unrestricted Metadata fields
      • E2E Tests Best Practices
    • 💻Codebase
      • 🔓Keeping the lock file in sync
      • 🚫Git Private Submodules
      • 🏎️Monorepo / Turborepo
      • 🌝Deploying to Production
      • ☁️Deployment
      • 💻Debug Desktop App
      • 🚩Enabling/Disabling Features
    • 🔺Resolving failed migration on Vercel Preview
    • 🔦Cal.com Status Page
  • Customer Success
    • 💟Tone
  • Marketing
    • 🎬Media
    • ☝️How to add a new Tip to Sidebar
  • 🤲Sales
    • Operations Stack
Powered by GitBook
On this page
  • Auto-update and auto-merge
  • What to look for?
  • Drafts

Was this helpful?

  1. Engineering

PR Reviews

How we review Pull Requests at Cal.com

PreviousWhat to do during EmergenciesNextSelf-reviews

Last updated 1 year ago

Was this helpful?

Auto-update and auto-merge

How we use kodiak bot to auto-update and auto-merge approved PR's.

You will notice some PR's have the autoupdate and automerge tags assigned, those make sure that the PR is fresh and rebased automatically to main or whatever branch is based too, and the automerge one, will automatically merge the PR once it has the minimum required approval reviews (1).

Please do a thorough review and test the code, before approving, as it will get probably auto-merged once you do so.

We wouldn't want to merge stuff that hasn't been tested properly to main, and the PR might have one of such tags that would do so, so please don't approve before running the code and testing the bug has been fixed or the feature works as expected.

What to look for?

You can rely on the tools we already have, like all github checks being green on types, eslint, e2e tests and other tools.

First of all, if you're dealing with any bug fix, make sure that you're able to reproduce the fix (and maybe the prior bug in main too), and that there are not any other edge cases that the author might have missed.

Read the code changes, and try to think if the logic updates makes sense, or is there any other changes that could also improve it. Always try to simplify, don't overdo it though. Don't extract code until necessary.

If you see anything you think could be improved, make a comment on that line, open a discussion about it and the author will resolve it either fixing it or providing their reasoning for their option.

Drafts

If your PR is not ready yet for review, please keep the draft tag in it until it's ready, once you're happy with your work, move it out of draft and ask for review either to a teammate specifically (if you know they're already familiar with that part of the codebase, or else) or you can tag calcom/core or calcom/reviewers team which will pick someone randomly for the team and notify them.

Likewise, don't review any PR's that are on draft status, as they might not be yet ready for your excellent feedback!

It's possible that either as part of calcom/core or calcom/reviewers team, or because a teammate has tagged you personally, they'll show up in your github review requests page.

✅
https://github.com/pulls/review-requested