Staleness detection, Chrome extension update, DX meetup with MongoDB, and more
Ready hook to detect stale PRs and update, productivity calculator
Highlights
🎙️ Hangout with MongoDB
📽️ DX Panel at Elevate Conference
🚀 Custom Javascript ready hook
🚀 Auto-update stale PRs before queuing
🚀 Productivity Calculator
🚀 Chrome Extension Updates
Hangout with Tara Hernandez, VP Developer Productivity at MongoDB
We are excited to have our November off-the-record discussion this Thursday Nov 16. Joining us is Tara Hernandez, VP of Developer Productivity at MongoDB.
RSVP: https://lu.ma/9xytq3yp
Developer experience panel at Elevate conference
We hosted a panel with Adam Berry (Amplitude), Lauren Darcey (Reddit) and Cherif Yaya (Airbnb) from our community talking about challenges scaling developer experience in large companies. Read the highlights.
New features
Custom Javascript ready hook
Introducing ready hook - a JavaScript file that can be checked into your GitHub repository and is executed whenever a pull request is marked as ready-to-merge. Read the MergeQueue ready hook documentation to learn more. If you have any interesting use cases for this, reach out to us.
Detect Staleness and update PR with ready hook
Use this ready hook to analyze base branch staleness of the PR, and conditionally update the PR with the latest version of its base branch before it enters the queue. This can be useful because a PR that is very out of date is more likely to fail once it enters the queue and cause a queue reset, wasting CI resources and increasing time-to-merge for other PRs in the queue.
// .aviator/mergequeue/ready.js
// We'll only update the pull request if it's more than 50 commits behind.
const MAX_COMMITS_BEHIND = 50;
function ready() {
const base = $event.pullRequest.base.ref;
const head = $event.pullRequest.head.ref;
const { behindBy } = $github.compareCommits({ base, head });
if (behindBy > MAX_COMMITS_BEHIND) {
$github.addComment(
`Pull request is ${behindBy} commits behind \\`${base}\\`. ` +
`Synchronizing pull request with latest commits before queuing.`
);
// Update the pull request with the latest commit from its base branch using
// the repository's configured strategy (rebase or merge).
$mergequeue.synchronizePullRequest();
}
}
Productivity calculator
Estimate how much time your engineering team is losing because of build failures. Check out: https://app.aviator.co/calculator and let us know your feedback.
Chrome extension updates
We’ve added more improvements to the Chrome Extension! Now get all your updates from within the GitHub PR interface.
Ability to queue stacked PRs from the GitHub UI
Remove PR from queue
Timeline of the PR activity
Links to the bot PR status checks
As always, let us know if you have any feedback, and read more about the Chrome Extension in our docs here.
Bug fixes and improvements
Added new Pilot functions: compareCommits and synchronizePullRequest. See the staleness section above for use case.
Improved error messaging for “stuck” PRs
Fixed inconsistent queue position
Fixed query string bug for the
/stats
API endpointOrdered PRs by merge order in
batch_merged
webhookAdded
/repo
list API. Read the docsFixed bug for updating PR with
/aviator sync
Fixed bug for incorrect failed CI message
On-prem release
Latest release: 2023.11.02-1