feat(ci): add /explain-ci bot command for PR failure help#60821
Draft
miaulalala wants to merge 1 commit into
Draft
feat(ci): add /explain-ci bot command for PR failure help#60821miaulalala wants to merge 1 commit into
miaulalala wants to merge 1 commit into
Conversation
Adds a new GitHub Actions workflow that responds to `/explain-ci` comments on pull requests. When triggered, nextcloud-bot posts a summary of all currently-failing CI checks with a plain-language description of what each check validates and step-by-step local fix instructions. Covers all 40 developer-facing PR workflows: PHPUnit (all DB backends), linting (ESLint, Stylelint, PHP, PHP-CS-Fixer), Psalm, Cypress, Node build/tests, REUSE, OpenAPI, Rector, Behat integration tests, external storage tests, object storage tests, block checks (fixup commits, conventional commits, outdated 3rdparty), Code checkers, and CodeQL. Uses the same slash-command pattern as /compile and /update-3rdparty: issue_comment trigger (works on fork PRs), COMMAND_BOT_PAT for bot identity, and peter-evans/create-or-update-comment for the +1 reaction acknowledgement. AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Anna Larch <anna@nextcloud.com>
2a82f09 to
a893f1f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/ci-bot.yml: a new slash-command bot triggered by commenting/explain-cion any pull requestnextcloud-botreacts to the comment with 👍 and posts a single summary of all currently-failing CI checks, explaining what each one validates and how to fix it locallyHow it works
The bot uses the
issue_commenttrigger (same pattern as/compileand/update-3rdparty), so it has access toCOMMAND_BOT_PATand works on fork PRs too. It:Workflows covered
All PHPUnit variants (SQLite, MariaDB, MySQL, PostgreSQL, OCI, nodb, 32bits, memcached, sharding, primary object store, all files_external backends), ESLint, Stylelint, PHP lint, PHP-CS-Fixer, Psalm, Cypress, Node build/tests, REUSE, OpenAPI, Rector, Behat integration tests (DAV, Litmus, SQLite), object storage tests (S3, Azure, Swift), Samba Kerberos SSO, Code checkers, block checks (fixup commits, unconventional commits, outdated 3rdparty/), and CodeQL.
Example usage
Comment
/explain-cion a PR with failing checks →nextcloud-botreplies:Test plan
/explain-cion a PR with at least one failing check → bot reacts with 👍 and posts summary/explain-cion a PR where all checks pass → bot replies "no failing checks found"/explain-cion a fork PR → bot works (issue_comment runs in base repo context)/explain-ci→ only still-failing checks appear in summary🤖 Generated with Claude Code