-
Notifications
You must be signed in to change notification settings - Fork 10
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
Centralize Issue and Pull Request templates for (most) repos to the .github repo #286
Comments
It is a good idea to centralize what we can, but I do not think we can use one I've recently worked on updating them and a lot of the checkboxes under Pull Request Requirements are different on each of the repos. For example, the suggested title of the PR is different on a lot of the repos. On the main site, we ask for tests to be written for new features. On exercise repos we also ask for solutions to be updated. If we consolidated them, we would need a lot of checkboxes with wording like "If applicable..." and I think contributors would get lost on knowing if it is applicable. |
Yeah I just looked and they diverge a lot more than I remember; that probably puts a PR template out of the question then (mostly caused by all of the exercise repo's have you included the |
So I had some free time today, and came up with this.
* Only contains note on spellchecker; set up code-spell? **** By this I mean that they contain some variation on the following line |
Asartea
Centralize Issue and Pull Request templates for (most) repos to the .github repo
Summary
In order to decrease the amount of maintenance required to update Issue/Pull Request templates and lower the risk of those falling behind/diverging from each other we should centralize most of them to TheOdinProject/.github.
Motivation
While working on TheOdinProject/theodinproject#3901 I noticed that a lot of TOP's repos have (almost) identical
.github/
folders, containing almost the exact same files (I'm going to guess they were originally copy/pasted when creating new repos). This adds a huge maintenance burden when making any changes to the contents of these files, as individual PR's have to be filed against each repo.Centralizing these to a single source of truth which then propagates down to the individual repos would make this a lot easier, as changes would instead only require changing a single set of files.
Suggested implementation
GitHub includes a feature for default community health files, which are files in certain directories of the
.github
repo of an organization. These files are automatically used and displayed by GitHub for any repos that don't have a local equivalent. TheOdinProject/.github already includes a set of default templates, and I have had a WIP PR for Pull Requests and a config for a while. Once we are happy with the contents of those files we can simply drop the files from each repo we want to use them in, and it ought to just work:tm:.One additional thing to consider would be labels; we can define labels that will be used in each template, and GitHub lets a org define default labels any project will include, but it is my understanding that TOP is looking to slim down on the amount used, so there is a question which (if any) should be included
Drawbacks
theodinproject
,curriculum
, this one,odin-bot-v2
), but for some others there is a decision to be made if the added content is worth the maintenance (some of the exercise repos have a added note about the solutions in their pull request template as an example)Alternatives
Are there any alternative implementations to this? What else can be done?
Additional
Originally brought this up at https://discord.com/channels/505093832157691914/1124433492273545316/1126149422313648199
The text was updated successfully, but these errors were encountered: