New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: Add PR review bot #8904
base: master
Are you sure you want to change the base?
ci: Add PR review bot #8904
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couldn't we just omit the check
section?
Why add a comment instead of just CI status via exit 0/1?
-
Perhaps this can be extended to use emacs 28 and 30 too and do so in parallel.
pull_request: | ||
paths: | ||
- 'recipes/**' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rationale: ignore draft PRs
pull_request: | |
paths: | |
- 'recipes/**' | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
paths: | |
- 'recipes/**' |
echo "status=success" >> "$GITHUB_OUTPUT" | ||
|
||
# Start the review process. | ||
review: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rationale: parallel multi-version build
review: | |
review: | |
strategy: | |
matrix: | |
version: [28.2, 29.2, 30] |
steps: | ||
- uses: purcell/setup-emacs@master | ||
with: | ||
version: 29.2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rationale: parallel multi-version build
version: 29.2 | |
version: ${{ matrix.version }} |
# Start the review process. | ||
review: | ||
needs: [check] | ||
if: ${{ needs.check.outputs.status == 'success' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rationale: ignore draft PRs
if: ${{ needs.check.outputs.status == 'success' }} | |
if: ${{ needs.check.outputs.status == 'success' }} | |
if: github.event.pull_request.draft == false |
I don't prefer doing that since it will result a red mark ❌. Another approach is to use
Those checks are opinionated, so it's better to post the comment out. Furthermore, I reckon people are unlikely to review the GitHub Actions log page to identify the error. 🤔 |
That's kind of the point of CI, isn't it?
Fair point, also since the melpa check does basically a 4 in 1, you can't see by what exactly failed where to work. |
PR doesn't always refer to a new package. Like this PR is not relevant to "Adding a new recipe", making it red will only cause confusions.
FYI, Eask does that, but not the same standard as MELPA. |
You're already catching non-package PRs via
|
Not good enough. You can change the recipe and other file in the same PR. |
Would it be sufficient to catch if anything else has been modified? |
For example?
Yes, but we don't assume people won't, right? |
It is possible to have a complimentary check that asserts the inverse of the recipes path, but I'm not sure how elegant that is.
I would be in favor of a separation of concerns. |
Let me know if you figure it out! :)
Sorry, I don't think it's worth discussing this since it only requires me to delete a few lines. You have your point, and I see it; I used to have the same perspective as you. I'll agree to disagree since it's not worth the effort! |
Hi @jcs090218 - I apologize for having not looked at this yet, most of my MELPA bandwidth is going into reviewing recipes at the moment. I'll give this the closer look it deserves, but I will note that I've also been hesitant about melpazoid's reliability for reviewing recipes in the general case. For a lot of simple recipes it works. For a lot of nontrivial recipes I'm making a fix here or there, or discovering that some of the output is incorrect and needs to be hand-edited before being passed to the author as "advice". |
Yeah, I agree. There are a few things need to improve to make it perfect.
I'm not too worried about this since many big repo are doing things like this. (1) They simply put a note in the comment, for example "This is an automated test, please ignore it if it doesn't look right. There will soon be a maintainer to review it!", etc. Of course, you can put any note you want. (2) Even if something went wrong, you can always change |
For #6714.
A few results:
app-monochrome
#8892)The workflow file in steps:
check
)Emacs
andmelpazoid
to test the package based on the PR numberThis is one simple approach. Please let me know what you think!