Repository navigation
Add pull request templates with an exhaustive new-model checklist - #1169
Conversation
Closes braindecode#913: turn the requirements for adding a model into a checklist that contributors see when opening the pull request. The implementation conventions enforced by test_integration.py, the registration and documentation steps, and the benchmark expectations were previously only discoverable through CI failures or by reading past model PRs. A minimal general template is added alongside so GitHub shows a template chooser; a single template would be applied to every pull request.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1169 +/- ##
==========================================
+ Coverage 86.79% 87.19% +0.39%
==========================================
Files 143 146 +3
Lines 16386 16896 +510
==========================================
+ Hits 14223 14733 +510
Misses 2163 2163 🚀 New features to boost your workflow:
|
Resolve the docs/whats_new.rst conflict by keeping both changelog entries (BrainBERT :gh:`1104` from master, PR templates :gh:`1169` from this branch).
|
Merged the current Resolution kept both entries (BrainBERT's first, matching No content changes beyond the changelog ordering. |
|
Hi @bruAristimunha — a gentle follow-up on this one, now that it has been two weeks since you kindly merged Current status:
This closes #913, which @PierreGtch opened in January for turning the "add a model" TODO list into a PR template. Happy to reword or drop any checklist item if one reads wrong. |
|
many thanks to attack this issue @qinxwew 🙏🏽 |
Closes #913.
Motivation
#913 asks for "an exhaustive todo list for adding models ... directly included in a PR template". The Adding a model to Braindecode guide in
CONTRIBUTING.mdcovers the implementation conventions, but a contributor currently discovers the remaining requirements only through CI failures or by reverse-engineering recent model PRs:test/unit_tests/models/test_integration.pywithout being listed anywhere upfront (self.final_layernaming,activationexposed as a class-default parameter, drop-probability parameters,summary.csvcompleteness);models/util.py, export inmodels/__init__.py,summary.csv,docs/api.rst, architecture figure) are only visible in past model PRs such as Adding ZUNA to Braindecode #1020;I hit exactly these gaps while preparing the MSCFormer addition for #721 — the conventions first surfaced as local test failures — which motivated this PR.
Changes
.github/PULL_REQUEST_TEMPLATE/add_new_model.md: template for model additions with the exhaustive checklist (model information, implementation conventions annotated with the enforcing test names, registration and documentation steps, validation and benchmark expectations)..github/PULL_REQUEST_TEMPLATE/default.md: minimal general template (summary / changes / testing / notes). Two templates inPULL_REQUEST_TEMPLATE/make GitHub show a template chooser; with a single file, GitHub would silently apply the model checklist to every PR, which is not intended.CONTRIBUTING.md: one-line pointer from the "Add a model" section to the template.docs/whats_new.rst: entry for the changelog check.Design notes
CONTRIBUTING.mdfor the how and serves as the what to tick.Testing
name/description/title), and the chooser behavior was verified to require two or more templates in the directory.codespellandsphinx-lintpass on the touched files (docstrfmtexcludeswhats_new.rstinpre-commitby design; verified the exclusion before relying on it).whats_new.rstentry.