.github: issue and pull request templates - #17
Merged
Conversation
The repository had no issue or pull request templates and no open issues, so the shape of a report was still undecided. Three forms rather than one, because the reports this project gets are not the same kind of thing. A bug report starts with version, tier and deployment method. Those three decide whether the rest is readable: the service is self-hosted, so the same version behaves differently on two installations, and the licence is a ceiling rather than a switch, so a community deployment is not a broken enterprise one. The version field carries a warning of its own — `--version` only exists from v0.12.0, and everything before it reports `dev`, including in its logs. The configuration field asks for `config print --changed --origin` rather than prose. It prints only what differs from the defaults and says where each value came from, which is shorter than a description and cannot be wrong. Credentials are masked; the S3 endpoint and key id are not, deliberately — they are what you need when the problem is storage — so the field says to read before pasting. Plugin requests get their own form. README documents the catalogue layout and the stdio contract a plugin has to satisfy, so those are checkboxes: a tool that does not read CodeGeneratorRequest from stdin cannot be run by this service no matter how much anyone wants it. There is also a box for "I will send the Dockerfile myself", which is a different conversation and worth knowing early. Feature requests ask for the problem before the solution, and for the current workaround, which describes the shape of the missing thing better than a proposal usually does. Blank issues are off. The pull request template lists the four checks this repository has actually been caught by rather than a generic checklist.
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.
What and why
The repository had no issue or pull request templates and no open issues, so the shape of a report was still undecided. This sets it before the first one arrives.
Three forms rather than one, because the reports this project gets are not the same kind of thing:
config print --changed --origininstead of prose — shorter than a description and it cannot be wrong.CodeGeneratorRequestfrom stdin cannot be run by this service regardless of how useful it is.Blank issues are off. The
pluginlabel the third form applies has been created.The pull request template lists the four checks this repository has actually been caught by, not a generic checklist.
Notes
One thing from the plan was dropped after reading the code: I had intended to mark
registry.s3.access_key_idas a secret, since the bug form invites pasting config output into a public issue. There is a comment above that field explaining the current choice — the key id names the caller and is worth seeing, redacting it would hide which key a deployment uses while protecting nothing. That reasoning holds, and for the most likely S3 bug it is exactly the field you want. The form warns instead.This pull request is also the first test of branch protection: seven required checks, no direct pushes.