Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
65 lines
2.2 KiB
YAML
65 lines
2.2 KiB
YAML
name: Congratsbot
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
check-author:
|
|
if: ${{ github.repository_owner == 'zed-industries' }}
|
|
runs-on: namespace-profile-2x4-ubuntu-2404
|
|
outputs:
|
|
should_congratulate: ${{ steps.check.outputs.should_congratulate }}
|
|
steps:
|
|
- name: Get PR info and check if author is external
|
|
id: check
|
|
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
|
|
with:
|
|
github-token: ${{ secrets.CONGRATSBOT_GITHUB_TOKEN }}
|
|
script: |
|
|
const { data: prs } = await github.rest.repos.listPullRequestsAssociatedWithCommit({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
commit_sha: context.sha
|
|
});
|
|
|
|
if (prs.length === 0) {
|
|
core.setOutput('should_congratulate', 'false');
|
|
return;
|
|
}
|
|
|
|
const mergedPR = prs.find(pr => pr.merged_at !== null) || prs[0];
|
|
|
|
if (mergedPR.user.type === "Bot") {
|
|
// They are a good bot, but not good enough to be congratulated
|
|
core.setOutput('should_congratulate', 'false');
|
|
return;
|
|
}
|
|
|
|
const prAuthor = mergedPR.user.login;
|
|
|
|
try {
|
|
await github.rest.teams.getMembershipForUserInOrg({
|
|
org: 'zed-industries',
|
|
team_slug: 'staff',
|
|
username: prAuthor
|
|
});
|
|
core.setOutput('should_congratulate', 'false');
|
|
} catch (error) {
|
|
if (error.status === 404) {
|
|
core.setOutput('should_congratulate', 'true');
|
|
} else {
|
|
console.error(`Error checking team membership: ${error.message}`);
|
|
core.setOutput('should_congratulate', 'false');
|
|
}
|
|
}
|
|
|
|
congrats:
|
|
needs: check-author
|
|
if: needs.check-author.outputs.should_congratulate == 'true'
|
|
uses: withastro/automation/.github/workflows/congratsbot.yml@a5bd0c5748c4d56e687cdd558064f9ee8adfb1f2 # main
|
|
with:
|
|
EMOJIS: 🎉,🎊,🧑🚀,🥳,🙌,🚀,🦀,🔥,🚢
|
|
secrets:
|
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
|