Skip to content

Commit d3f4654

Browse files
committed
Merge current main into grouped expert encoder changes
2 parents aa368b3 + e0a284b commit d3f4654

207 files changed

Lines changed: 15702 additions & 4452 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/babysit-pr/SKILL.md

Lines changed: 0 additions & 103 deletions
This file was deleted.

.claude/skills/fix-issue/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: fix-issue
3-
description: Fix a GitHub issue in NeMo Speech (NVIDIA-NeMo/NeMo). Read the issue, reproduce the bug with a failing test, implement the fix, and verify tests pass. Only opens a PR if the user explicitly asks for it.
3+
description: Fix a GitHub issue in NeMo Speech (NVIDIA-NeMo/Speech). Read the issue, reproduce the bug with a failing test, implement the fix, and verify tests pass. Only opens a PR if the user explicitly asks for it.
44
---
55

66
# fix-issue
@@ -28,7 +28,7 @@ Read the issue description carefully. Identify:
2828

2929
## Workflow
3030

31-
1. Read the issue: `gh issue view <ISSUE_NUMBER> --repo NVIDIA-NeMo/NeMo`
31+
1. Read the issue: `gh issue view <ISSUE_NUMBER> --repo NVIDIA-NeMo/Speech`
3232
2. Understand the bug — identify the relevant code
3333
3. Write a minimal reproduction test in `tests/` that demonstrates the failure
3434
4. Run the test to confirm it fails: `pytest <your_test_file> -v`
@@ -49,7 +49,7 @@ git checkout -b fix/<ISSUE_NUMBER>-<short-description>
4949
git add <changed files>
5050
git commit -s -m "Fix <short-description> (closes #<ISSUE_NUMBER>)"
5151
git push origin fix/<ISSUE_NUMBER>-<short-description>
52-
gh pr create --repo NVIDIA-NeMo/NeMo \
52+
gh pr create --repo NVIDIA-NeMo/Speech \
5353
--title "Fix <short-description>" \
5454
--body "$(cat <<'EOF'
5555
# What does this PR do ?

.claude/skills/verify/SKILL.md

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,51 @@
11
---
22
name: verify
3-
description: Run style checks and tests on changed files to verify code quality before committing.
3+
description: Verify a NeMo Speech change or pull request before commit, push, or review by checking the complete diff, formatting, tests, documentation, and DCO sign-offs. Use when asked to verify changes, prepare a commit or PR, or review a PR's validation and coverage.
44
---
55

6-
Run verification on the current changes:
6+
Verify the current change proportionally to its risk. Do not report success for checks that were not run.
7+
8+
1. **Establish the complete scope.** Inspect committed, staged, unstaged, and untracked changes:
79

8-
1. **Find changed files**:
910
```bash
10-
git diff --name-only HEAD
11+
git status --short
12+
git diff --name-only origin/main...HEAD
13+
git diff --name-only
14+
git diff --cached --name-only
1115
```
12-
Also include any files you've been editing in this session.
1316

14-
2. **Style check** on each changed Python file or its parent directory:
17+
Replace `origin/main` if the PR targets another branch. Read the full diff and any applicable nested `AGENTS.md` or `CLAUDE.md` files.
18+
19+
2. **Review tests and documentation.** Before running commands, determine whether the change is adequately covered:
20+
21+
- Require a regression test for a bug fix and focused unit tests for new or changed behavior, including important edge cases. If no test is appropriate, require a concrete explanation.
22+
- Check whether changes to public APIs, configuration, CLI behavior, examples, or user workflows are reflected in the relevant documentation. If no documentation update is needed, record why.
23+
24+
3. **Run repository checks.** For staged changes, run:
25+
26+
```bash
27+
pre-commit run
28+
```
29+
30+
For committed branch changes, run `pre-commit run --from-ref origin/main --to-ref HEAD`. If pre-commit is unavailable, use `uvx pre-commit` for the same command. Review and stage hook fixes, then rerun until clean. Also run `git diff --check`.
31+
32+
4. **Run the smallest relevant tests.** Prefer focused test files or test names while iterating, then expand to the affected collection when practical:
33+
34+
- `nemo/collections/asr/``uv run pytest tests/collections/asr -m "not pleasefixme"`
35+
- `nemo/collections/tts/``uv run pytest tests/collections/tts -m "not pleasefixme"`
36+
- `nemo/collections/audio/``uv run pytest tests/collections/audio -m "not pleasefixme"`
37+
- `nemo/collections/speechlm2/``uv run pytest tests/collections/speechlm2 -m "not pleasefixme"`
38+
- `nemo/collections/common/``uv run pytest tests/collections/common -m "not pleasefixme"`
39+
- `nemo/core/``uv run pytest tests/core -m "not pleasefixme"`
40+
41+
Add `--with_downloads` only for tests marked as requiring model downloads. Use `--cpu` when supported and a GPU is unavailable. If documentation changed, install its dependencies with `uv sync --locked --group docs` and build it with `uv run make -C docs html`.
42+
43+
5. **Verify commit sign-offs.** Every commit in the PR must have a DCO `Signed-off-by` trailer:
44+
1545
```bash
16-
python setup.py style --scope <path>
46+
git log --format='%h %s%n%(trailers:key=Signed-off-by)' origin/main..HEAD
1747
```
18-
If issues are found, fix them with `--fix` and report what changed.
1948

20-
3. **Run relevant tests** based on which collection was modified:
21-
- `nemo/collections/asr/``pytest tests/collections/asr --download -m "not pleasefixme" -v --timeout=300`
22-
- `nemo/collections/tts/``pytest tests/collections/tts --download -m "not pleasefixme" -v --timeout=300`
23-
- `nemo/collections/audio/``pytest tests/collections/audio --download -m "not pleasefixme" -v --timeout=300`
24-
- `nemo/collections/speechlm2/``pytest tests/collections/speechlm2 -m "not pleasefixme" -v --timeout=300`
25-
- `nemo/collections/common/``pytest tests/collections/common -m "not pleasefixme" -v --timeout=300`
26-
- `nemo/core/``pytest tests/core -m "not pleasefixme" -v --timeout=300`
49+
Create commits with `git commit -s`. Add a missing trailer to your own latest commit with `git commit --amend --no-edit -s`; do not rewrite other contributors' commits without authorization.
2750

28-
4. **Report results**: summarize passes and failures. For failures, show relevant error output and suggest fixes.
51+
6. **Report results.** Summarize the reviewed diff, test-coverage and documentation conclusions, exact commands and outcomes, commit sign-off status, and any skipped checks with reasons. For failures, include the relevant error and a concrete next step.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@ Add a one line overview of what this PR aims to accomplish.
2525

2626
The Jenkins CI system has been replaced by GitHub Actions self-hosted runners.
2727

28-
The GitHub Actions CI will run automatically when the "Run CICD" label is added to the PR.
29-
To re-run CI remove and add the label again.
30-
To run CI on an untrusted fork, a NeMo user with write access must first click "Approve and run".
28+
Trusted PRs run automatically through copy-pr-bot. For an untrusted PR, a maintainer can trigger CI by commenting
29+
`/ok to test <head-sha>`; repeat this after a new push if the PR remains untrusted.
3130

3231
# Before your PR is "Ready for review"
3332

3433
**Pre checks**:
3534

36-
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
35+
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA-NeMo/Speech/blob/main/CONTRIBUTING.md)
3736
- [ ] Did you write any new necessary tests?
3837
- [ ] Did you add or update any necessary documentation?
3938
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
@@ -50,7 +49,7 @@ If you haven't finished some of the above items you can still open "Draft" PR.
5049
## Who can review?
5150

5251
Anyone in the community is free to review the PR once the checks have passed.
53-
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.
52+
[Contributor guidelines](https://github.com/NVIDIA-NeMo/Speech/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.
5453

5554
# Additional Information
5655

.github/workflows/_build_container.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jobs:
9999
build-args: |
100100
IMAGE_LABEL=nemo-core
101101
NEMO_TAG=${{ github.sha }}
102-
NEMO_REPO=https://github.com/NVIDIA/NeMo
102+
NEMO_REPO=https://github.com/NVIDIA-NeMo/Speech
103103
PR_NUMBER=${{ github.event.pull_request.number || 0 }}
104104
cache-from: |
105105
type=registry,ref=${{ inputs.registry }}/nemo-speech:${{ inputs.image-name }}-buildcache-main,mode=max

.github/workflows/cicd-main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ concurrency:
3636

3737
jobs:
3838
pre-flight:
39-
uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_cicd_preflight.yml@c1a0837f362a1a696e647238ab1cf916b2a7cf4a # v1.8.6
39+
uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_cicd_preflight.yml@cf5acebace78c7c339bc1f804357a991336f1c4d # v1.8.10
4040
with:
4141
default_runner_prefix: ${{ vars.DEFAULT_RUNNER_PREFIX }}
4242
non_nvidia_runner_prefix: ${{ vars.NON_NVIDIA_RUNNER_PREFIX }}

0 commit comments

Comments
 (0)