Skip to content
This repository was archived by the owner on May 20, 2026. It is now read-only.

feat: Dockerfile & dependencies#35

Merged
pablo-garay merged 67 commits into
mainfrom
pablo-garay/dockerfile_install_dependencies4
Nov 12, 2025
Merged

feat: Dockerfile & dependencies#35
pablo-garay merged 67 commits into
mainfrom
pablo-garay/dockerfile_install_dependencies4

Conversation

@pablo-garay

Copy link
Copy Markdown
Contributor

feat: Dockerfile & dependencies

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
… dependency group)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
…ath, no fail on coverage errors)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
…un coverage'

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
@pablo-garay

Copy link
Copy Markdown
Contributor Author

/ok to test 862f486

…rage, fix paths to /opt/DFM

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
@pablo-garay

Copy link
Copy Markdown
Contributor Author

/ok to test fe4181f

- Add 'submodules: recursive' to test-template checkout (matches Megatron-Bridge)
- Remove error-swallowing (|| echo) pattern from test script
- Add proper timeout handling and exit code capture
- Fixes: nemo-automodel missing pyproject.toml error

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Signed-off-by: Pablo Garay <pagaray@nvidia.com>
@pablo-garay

Copy link
Copy Markdown
Contributor Author

/ok to test 3a56c39

@abhinavg4 abhinavg4 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just a minor comment. Let's also get a review from @ko3n1g too before merging

Comment thread pyproject.toml
]
nemo-automodel = { path = "3rdparty/Automodel" }
megatron-bridge = { path = "3rdparty/Megatron-Bridge" }
transformer-engine = { git = "https://github.com/NVIDIA/TransformerEngine.git", rev = "release_v2.9" }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have TE here? TE would be part of Mbrige right ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

both options exist, if you want bump TE more aggressively you can override it otherwise you can inherit from MBridge. Maybe for simplicity you want to inherit by default

@pablo-garay
pablo-garay merged commit 3cb35cc into main Nov 12, 2025
15 checks passed
@chtruong814
chtruong814 deleted the pablo-garay/dockerfile_install_dependencies4 branch January 29, 2026 20:27
huvunvidia pushed a commit that referenced this pull request Feb 12, 2026
* dockerfile install dependencies

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* update uv lock

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* docker adjustment for current dfm status

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* version being loaded dynamically

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Add megatron-bridge dependency (megatron-core as transitive)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* allow certain packages access existing env deps at build time

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* necessary build deps for pkgs when build isolation disabled (as build dependency group)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* use cuda version installed in pytorch container

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* build dep group first, then all other deps

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile in CI

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* lintfix

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* lintfix

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile update

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile update

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile update

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile update

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* need add wheel

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* need add wheel

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* uv lock

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* uv lock

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* uv lock 2

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* try 2

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* try 3

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* generate lockfile another attempt

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Add generated uv.lock file

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix lockfile generation to match runtime configuration

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* uv.lock update

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* lintfix

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* run generate uv.lock workflow on manual trigger only

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* move to /opt/DFM

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* automodel & mbridge as submodules

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Initialize submodules in lockfile generation workflow

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* build-docs adapt for 2-step installation

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Pre-install build dependencies to avoid metadata extraction errors

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* adjust core dep due to Megatron-Energon requiring cuda resolution

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Shared template uses uv sync internally. energon as core dep

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* build-docs adapt

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* adjust: same git source for nvidia-resiliency-ext as Mbridge

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix: use poetry-core instead of poetry for nvidia-resiliency-ext build

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Override non-existent extras from megatron-bridge dependencies

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Add transformer-engine git source matching megatron-bridge

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Match megatron-bridge override-dependencies exactly (keep [pytorch] extra)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Remove extra-build-dependencies, add nvidia-resiliency-ext git source like megatron-bridge

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix lockfile generation: pre-install poetry-core and fail on error

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Install poetry (not poetry-core) for nvidia-resiliency-ext build

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix venv activation: source activate script instead of env var

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Use PyPI nvidia-resiliency-ext (pre-built wheels, no poetry needed)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Override nvidia-resiliency-ext source to PyPI (overrides megatron-bridge git source)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix syntax: use 'index' not 'registry' for nvidia-resiliency-ext

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Copy Megatron-Bridge env var approach for venv (UV_PROJECT_ENVIRONMENT + VIRTUAL_ENV)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Update uv.lock [skip ci]

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix trailing whitespace in generate-lockfile.yml

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Match Megatron-Bridge Dockerfile exactly: add cache mounts, remove --no-install-project, add cache prune

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Add nvidia-mathdx to build dependencies (required by transformer-engine, matching megatron-bridge)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* update uv.lock

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Add --no-install-project back for CI test workflow compatibility

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Mount CI test code at /opt/DFM to match Dockerfile WORKDIR (like Megatron-Bridge)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Activate venv before installing project in CI tests

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix coverage handling to match Megatron-Bridge (use exit code, full path, no fail on coverage errors)

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Align test scripts with Megatron-Bridge: use /opt/DFM paths and 'uv run coverage'

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix CI to match Megatron-Bridge: checkout submodules, use uv run coverage, fix paths to /opt/DFM

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix test execution: add submodules checkout + proper exit code handling

- Add 'submodules: recursive' to test-template checkout (matches Megatron-Bridge)
- Remove error-swallowing (|| echo) pattern from test script
- Add proper timeout handling and exit code capture
- Fixes: nemo-automodel missing pyproject.toml error

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

* Fix trailing whitespace in test-template action

Signed-off-by: Pablo Garay <pagaray@nvidia.com>

---------

Signed-off-by: Pablo Garay <pagaray@nvidia.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants