Skip to content

Commit 77578d4

Browse files
committed
[docs] chore: Add area:diffusion label and test resource constraints
- Add area:diffusion to label list and area labels table in CONTRIBUTING.md - Add guidance that unit tests are strongly preferred over functional tests - Add 2-GPU limit for functional tests due to CI resource constraints Signed-off-by: Yu Yao <yaoyu.094@gmail.com> Signed-off-by: yaoyu-33 <yaoyu.094@gmail.com>
1 parent a4d7e55 commit 77578d4

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

β€ŽCONTRIBUTING.mdβ€Ž

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ Format your commit messages and PR titles as:
169169
- `distill` - Knowledge distillation
170170
- `prune` - Pruning and sparsity
171171
- `quant` - Quantization (PTQ, QAT, FP8 recipes)
172+
- `diffusion` - Diffusion model implementations and training
172173
- `ci` - CI, automation, and workflow infrastructure
173174
- `docs` - Documentation, examples, and contributor guidance
174175
- `build` - Dependencies, packaging, and environment setup
@@ -197,7 +198,7 @@ Format your commit messages and PR titles as:
197198
When you create a pull request, **add labels immediately** so reviewers and CI can route it correctly. At minimum, apply:
198199

199200
1. **One type label** β€” `bug`, `feature`, `docs`, or `ci`
200-
2. **One or more area labels** β€” `area:model`, `area:recipe`, `area:training`, `area:data`, `area:ckpt`, `area:peft`, `area:perf`, `area:distill`, `area:prune`, `area:quant`, `area:build`, or `area:misc`
201+
2. **One or more area labels** β€” `area:model`, `area:recipe`, `area:training`, `area:data`, `area:ckpt`, `area:peft`, `area:perf`, `area:distill`, `area:diffusion`, `area:prune`, `area:quant`, `area:build`, or `area:misc`
201202
3. **`docs-only`** β€” if the PR touches only documentation (no code changes); this skips most CI jobs
202203
4. **`needs-review`** β€” when the PR is ready for review
203204
5. **`needs-more-tests`** β€” if the change needs additional test coverage; triggers both L0 and L1 CI
@@ -266,6 +267,7 @@ Use one primary area label after triage:
266267
| `area:peft` | PEFT methods (LoRA, adapters) and adapter export |
267268
| `area:perf` | Performance optimizations, kernel integration, and throughput improvements |
268269
| `area:distill` | Knowledge distillation |
270+
| `area:diffusion` | Diffusion model implementations and training |
269271
| `area:prune` | Pruning and sparsity |
270272
| `area:quant` | Quantization (PTQ, QAT, FP8 recipes) |
271273
| `area:build` | Dependencies, packaging, images, and environment setup |
@@ -340,8 +342,12 @@ We use [pytest](https://docs.pytest.org/en/stable/) for writing both unit and fu
340342
**Unit tests** aim to test functions in isolation. They generally do not depend on artifacts like Hugging Face checkpoints or larger datasets. Exception to this is a small toy dataset consisting of tokenizers.
341343
Unit tests are stored at `tests/unit_tests`. Please add your test to an existing folder or create a new one if none matches.
342344

345+
> **Preferred:** Unit tests are strongly recommended over functional tests. CI resources are limited, so every functional test slot has a real cost. Cover as much logic as possible with unit tests before reaching for a functional test.
346+
343347
**Functional tests** are integration tests that perform model training or operate on larger artifacts. We use pytest for writing these. In some cases, it might be desired to run your test (or parts of it) in a subprocess to avoid process contamination. We use `subprocess.run` for this inside the pytest function. Please add your test into one of the predefined folders. If none of the folders matches semantically, please reach out to the `@nvidia-nemo/automation` in your PR for consultation.
344348

349+
> **GPU limit:** Functional tests must use **at most 2 GPUs**. Do not add tests that require more than 2 GPUs β€” they will not fit in the CI resource budget.
350+
345351
### Functional Test Launcher Scripts
346352

347353
Functional tests are placed in tiered launcher scripts inside [`tests/functional_tests/`](tests/functional_tests/). Each tier runs in a separate CI job, allowing faster PR feedback while keeping thorough coverage on nightly runs.

0 commit comments

Comments
Β (0)