-
Notifications
You must be signed in to change notification settings - Fork 50
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
[github] Don't consider PR body in CI skip logic #103
base: master
Are you sure you want to change the base?
Conversation
06c72e2
to
bf44f4e
Compare
Hello @sylank @viktorbenei ! Sorry for the direct pings, but just wanted to know the recommended way to get eyes on this. 😅 Thanks! |
Hey @usmonster 👋 Thanks for the ping! We started to discuss about this change with the team internally, but given this is a breaking change it needs a bit more preparation. Thanks for providing all the necessary information, it's a huge help! :) We'll get back to you as soon as we have a plan. In the meantime if this is a blocking issue for you a possible solution might be to run your own version of this hooks service - you can find instructions about how you can deploy it to your own Heroku account here https://github.com/bitrise-io/bitrise-webhooks#deploy-to-heroku |
Thanks for the response, @viktorbenei! It's not blocking me at the moment (my workaround is to manually edit the PR description), though I'm sure many people run into this unexpected behavior (on certain Dependabot pull requests, for example) and spend a lot of time troubleshooting why there's no build result. Please don't hesitate to ask if there's anything you'd need from me to help with preparations. |
bf44f4e
to
54da7a2
Compare
Hello again! Just wondering if there's any progress on a plan for this. Thanks! |
Hi @usmonster - it's still under review. As it's a breaking change it needs more time for the preparation. It's not yet decided how we'll handle the breaking change for those who depend on how it works today. |
Thanks for the response @viktorbenei! I wonder if a blog post and documentation updates would be enough, or if you might want a deprecation notice first somewhere (in the activities section of the site) for these specific cases? Just some suggestions, but I'm looking forward to your decision. 🙂 |
@usmonster indeed those are great ideas and things we're exploring, but also we'd gather data how many people this change would affect. Can't promise a release date yet as we have other things we have to finish first before we could dig into this one :) |
Hello @viktorbenei! I'm just checking up on this one—have you been able to measure the potential impact of this change or at least plan to look into it? (I wonder if it seems like a bigger change than it really is?) Please let me know if you have any questions or if I can do anything else to get this merged, and sorry for being so persistent. :) Thanks again! |
54da7a2
to
08c4894
Compare
08c4894
to
46ec927
Compare
Hey @usmonster, we checked your pull request again and it wouldn't solve your issue because you modified the code only when a pull request edit occurs. Skip logic is implemented here: Anyway as @viktorbenei mentioned it would be a breaking change and need to be implemented for other providers as well e.g. GitLab, Bitbucket to keep consistency. Today we've added some logging to measure how many of our users would be affected by this change. We need a few weeks to gather enough data, after that we're coming back to you. Thank you for your patience! |
Thanks for the follow up! 😄
My PR is explicitly focused on the PR edit, since it seems that's the only place with this unexpected behavior (I believe this covers PR creation as well, but I haven't looked at the code in a while). The line of code you point to seems to be focused on commit messages only, but please clarify if I've missed something.
It's a good point—I might've done this for other providers as well, but I only use GitHub at the moment.
Yes, I see #117—thanks again, and I look forward to seeing this approved and implemented everywhere. |
Unfortunately it does not cover PR creation, only PR title or description change. Yeah, the commitMessage variable name can be confusing there but actually it's built from PR title + PR description in case of a pull or merge request. |
GitHub pull request edits were not triggering CI when the PR body/description contained the `[ ci skip ]`/`[ skip ci ]` pattern. This was an issue, for example, in Dependabot-generated PRs that include commit messages from upstream dependencies that do include the pattern. Furthermore, no other CI service or vendor considers the PR body for the "ci skip" mechanism. This corrects the behavior so that only commit messages or PR titles are considered when a PR is edited.
46ec927
to
9a1984c
Compare
Hello @vturda! Just getting back to you since it's been a few weeks. 😅 Is there any news? Thanks again! |
GitHub pull request edits weren't triggering CI when the PR body/description
contained the
[ci skip]
/[skip ci]
pattern. This was an issue, forexample, in Dependabot-generated PRs that include commit messages from
upstream dependencies that do include the pattern. Furthermore, no other
CI service or vendor considers the PR body for the "ci skip" mechanism.
This corrects the behavior so that only commit messages or PR titles are
considered when a PR is edited.
New Pull Request Checklist
go fmt
on your files (e.g.go fmt ./service/common.go
, or on the wholeservice
folder:go fmt ./service/...
)An example, if you'd write a comment like "Given X this function will return Y" or
"Beware, if the input is X this function will return Y" then you should implement this as
a unit test, instead of writing it as a comment.
[ ] If your Pull Request is more than a bug fix you should also checkREADME.md
and change/add the descriptions there - also feel free to add yourself as a contributor if you implement support for a new service ;)bitrise run test
with the Bitrise CLI,to perform all the automatic checks (which will run on your Pull Request when you open it).
Summary of Pull Request
This Pull Request fixes the GitHub webhook logic so that "ci skip" in pull request bodies has no effect on whether or not CI is triggered, aligning it with other CI/git service implementations. Please note that CI will still be skipped as expected if the keyphrase appears in the PR title or in any part of a commit message. (Corrects logic introduced in #22.)