Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/danger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ name: Danger

on:
pull_request:
types: [opened, synchronize, reopened, edited, ready_for_review]
types: [opened, synchronize, reopened, edited, ready_for_review, labeled, unlabeled]

jobs:
danger:
runs-on: ubuntu-latest
steps:
- uses: getsentry/github-workflows/danger@17cc15eb58ea3687cd8f2714a4192dcee4aa09ef
with:
extra-dangerfile: scripts/check-replay-stubs.js
extra-dangerfile: scripts/check-additional-danger.js
extra-install-packages: "curl unzip openjdk-17-jre-headless"
14 changes: 14 additions & 0 deletions scripts/check-additional-danger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
async function safeRun(fnPath, { fail, warn, message, markdown, danger }) {
const fn = require(fnPath);
try {
return await fn({ fail, warn, message, markdown, danger });
} catch (error) {
warn(`Failed to run ${fnPath}: ${error.message}`);
}
}


module.exports = async function ({ fail, warn, message, markdown, danger }) {
await safeRun('./check-github-label', { fail, warn, message, markdown, danger });
await safeRun('./check-replay-stubs', { fail, warn, message, markdown, danger });
};
7 changes: 7 additions & 0 deletions scripts/check-github-label.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = async function ({ fail, warn, __, ___, danger }) {
const isReeadyForMerge = danger.github.issue.labels.some(label => label.name === 'ready-to-merge');
if (!isReeadyForMerge) {
// Ideally we could check for `isDraft` but this information is not easily available.
fail('Pull request is not ready for merge, please add the "ready-to-merge" label to the pull request');
}
};
Loading