Skip to content

Conversation

@pablo-garay
Copy link
Contributor

@pablo-garay pablo-garay commented Dec 15, 2025

Summary

This PR adds automated periodic lock file updates to prevent large dependency updates.

TESTED

Runs passed:

Triggering-only test: Worked:

Changes

  • Add dependabot.yml workflow that runs weekly on Mondays at 8 AM UTC
  • Add _update_dependencies.yml reusable workflow for updating lock files
  • Automatically creates PRs to bump uv.lock
  • Matches pattern used in other NeMo repos (Export-Deploy, Megatron-Bridge)

Benefits

  • Keeps lock files up-to-date incrementally
  • Prevents large dependency updates that are harder to review
  • Automated PR creation for easy review and merge
  • Follows established patterns from other NeMo repositories

Related

Related to POR P2: "Periodically update lock files so updates aren't too big"

- Add dependabot.yml workflow that runs weekly on Mondays
- Add _update_dependencies.yml reusable workflow
- Automatically creates PRs to bump uv.lock
- Matches pattern used in other NeMo repos (Export-Deploy, Megatron-Bridge)
- Ensures lock file updates are incremental and manageable

Signed-off-by: Pablo Garay <[email protected]>
- Add workflow_dispatch support to _update_dependencies.yml for manual triggering
- Add test-lockfile-update.yml workflow to test lock file update process
- Support both workflow_call and workflow_dispatch input access patterns

Signed-off-by: Pablo Garay <[email protected]>
- Add disk cleanup before container build in _update_dependencies.yml
- Add disk cleanup before container build in test-lockfile-update.yml
- Matches pattern used in DFM and other NeMo repos
- Should resolve 'No space left on device' errors during Docker builds

Signed-off-by: Pablo Garay <[email protected]>
- Change from ubuntu-latest to linux-amd64-cpu16
- Matches the runner used in _update_dependencies.yml
- Provides more disk space to avoid 'No space left on device' errors
- Aligns with patterns used in other NeMo repos

Signed-off-by: Pablo Garay <[email protected]>
- Remove disk space cleanup step (not needed with linux-amd64-cpu16 runner)
- Simplify Docker build step (remove aggressive pruning and disk checks)
- Runner has sufficient resources, cleanup is unnecessary

Signed-off-by: Pablo Garay <[email protected]>
- Add git config before branch creation to prevent authentication errors
- Add explicit token authentication for git push operations
- Add token to checkout actions for proper authentication
- Restore rebase step to match Export-Deploy pattern
- Fixes critical git configuration bug that would prevent branch creation

Signed-off-by: Pablo Garay <[email protected]>
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

ref: ${{ env.TARGET_BRANCH }}
submodules: recursive

- name: Build container
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we need to build the container to update the uv lock file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

After our meeting/conversation: Understood context .

Thank you for your feedback and suggestion I took a look at this

Yes . Please refer to new PR based on all the changes here, building on top. This PR to close in favor of the new one. Refer to: #1307

-w /workspace \
-e GH_TOKEN=${{ secrets.PAT }} \
ray-curator \
bash -c 'cd /workspace && uv lock --upgrade'
Copy link
Contributor

Choose a reason for hiding this comment

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

Please test out running this on cpu in a venv

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes . Please refer to new PR based on all the changes here, building on top. This PR to close in favor of the new one. Refer to: #1307

steps:
- name: Notify
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
Copy link
Contributor

Choose a reason for hiding this comment

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

where does this slack message go?

Copy link
Contributor Author

@pablo-garay pablo-garay Dec 15, 2025

Choose a reason for hiding this comment

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

it will go to
swdl-nemo-curator-github-ci-alerts
same as other ones unless we decide to do something else

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Please refer to new PR based on all the changes here, building on top. This PR to close in favor of the new one. Refer to: #1307

@pablo-garay pablo-garay changed the title Add dependabot workflow for periodic lock file updates feat: Add dependabot workflow for periodic lock file updates Dec 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants