json-schema-spec
json-schema-spec copied to clipboard
Automate some of the PR things
@Relequestual requested that some things be automated. One of those things included ensuring that an issue be associated with PRs. This is the issue associated with the PR that adds automation to ensure that issues are associated to PRs.
@karenetheridge: “all PRs should have an associated issue” — I mostly agree, except for draft PRs - as sometimes, the best way to express an idea is to show the patch for it
@gregsdennis When you say you want to automate this, what does that mean? Will there be a way to skip this requirement when it's appropriate? For example, a bot comment on a PR that says "Hey! Did you forget to link an issue" would be great. It's a nudge that keeps us honest, allows us to ignore when appropriate, and takes the burden off of us to respond to new contributors with such a message. On the other hand, not allowing a PR to be created or auto-closing or blocking merge or blocking discussion would make the process unnecessarily rigid IMO.
@jdesrosiers please see the PR. It puts a checklist on the opening comment, then ensures that all items are checked.
I just looked at it, but I'm afraid I'm still confused. I don't have experience with Github Actions and looking through the configuration wasn't helpful without a baseline understanding.
What does "ensures that all items are checked" mean? Does that mean merge is blocked until all items are checked? Does the checkbox ensure that you can't check it if there isn't an issue linked? Or, is it just a nudge and we can check it if we have a good reason to not need an issue?
Does that mean merge is blocked until all items are checked?
The build will fail, but it doesn't completely block merging, just like any other build process.
Does the checkbox ensure that you can't check it if there isn't an issue linked? Or, is it just a nudge and we can check it if we have a good reason to not need an issue?
It's superficial. There is no actual check. The action adds the checklist then checks to ensure all items are checked. That's as deep as it gets.
I like checklists, but I'm not sure that having an associated issue is a good thing to include in a checklist if it's not a hard requirement. It leaves things in a weird state when skipping is appropriate. Either you have to check to box and lie or ignore the build error. Lying is a better option than ignoring a build error, but it's not great.
The comment can be edited, too, to remove the check item...