Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f427a8b
feat: Add automated dependency version tracking and extraction
Oct 10, 2025
7ea0b89
Add SPDX copyright header to extraction script
Oct 10, 2025
62b6e1f
Fix pre-commit issues: import order and EOF
Oct 10, 2025
b283998
Remove unintended files and update .gitignore
Oct 10, 2025
692b308
Fix pre-commit issues: executable permission and unused variables
Oct 10, 2025
318f45c
Fix remaining unused variables: service and critical_reason
Oct 10, 2025
51af209
Make baseline dependency count dynamic based on previous extraction
Oct 10, 2025
749d8e2
Add removed dependencies tracking and PR reporting
dagil-nvidia Oct 10, 2025
cc3c88f
Fix YAML syntax error in nightly workflow
dagil-nvidia Oct 10, 2025
d520194
Fix all pre-commit issues: YAML syntax and formatting
dagil-nvidia Oct 10, 2025
9ac63de
Fix shell script extraction to skip runtime-determined versions
dagil-nvidia Oct 10, 2025
c0722d0
feat: Enhance dependency extraction to capture pip installs and binar…
dagil-nvidia Oct 13, 2025
3b0e8ab
fix: Remove trailing whitespace from extraction script
dagil-nvidia Oct 13, 2025
bd37921
fix: address CodeRabbit and reviewer feedback
dagil-nvidia Oct 14, 2025
e4619f1
Address nv-tusharma's review comments
dagil-nvidia Oct 17, 2025
f5a8770
feat(deps): add version discrepancy detection and composite action
dagil-nvidia Oct 20, 2025
3b5a644
fix: apply black and ruff formatting fixes
dagil-nvidia Oct 20, 2025
5ff3749
fix(deps): improve discrepancy detection accuracy
dagil-nvidia Oct 20, 2025
f547bae
fix(deps): skip sub-dependency ARGs, normalize pinning, and document …
dagil-nvidia Oct 20, 2025
a1860f0
fix: apply isort and black formatting
dagil-nvidia Oct 20, 2025
3972458
feat(deps): add automated failure monitoring for dependency extractio…
dagil-nvidia Oct 20, 2025
a86a3f5
fix: address pre-commit trailing whitespace issues
dagil-nvidia Oct 21, 2025
e91ff3e
refactor(deps): address nv-anants review feedback
dagil-nvidia Oct 21, 2025
acc4450
docs(deps): add comprehensive documentation for dependency extraction
dagil-nvidia Oct 21, 2025
b98d2cf
chore: trigger DCO re-check
dagil-nvidia Oct 21, 2025
f041e40
refactor(deps): modularize dependency extraction system
dagil-nvidia Oct 22, 2025
32456dc
feat(deps): add extractor architecture and unit tests
dagil-nvidia Oct 22, 2025
512c347
Merge branch 'main' into feature/dependency-extraction-DYN-1235
dagil-nvidia Oct 22, 2025
c163fa4
fix: apply pre-commit formatting fixes and update test markers
dagil-nvidia Oct 22, 2025
d20b575
feat(deps): add dynamic FRAMEWORK_VERSIONS.md generator
dagil-nvidia Oct 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(deps): add automated failure monitoring for dependency extractio…
…n workflows

- Add GitHub issue creation on workflow failures
- Nightly workflow: Create/update a single tracking issue for repeated failures
- Release workflow: Create version-specific issues for each failure
- Includes actionable troubleshooting steps and direct links to failed runs

Benefits:
- Automatic alerting when nightly extraction fails
- Prevents silent failures from going unnoticed
- Provides clear action items for responders
- Avoids issue spam by updating existing nightly failure issues

Signed-off-by: Dan Gil <[email protected]>
  • Loading branch information
dagil-nvidia committed Oct 21, 2025
commit 397245867fc000dd9daaa6075f2bf91e8a35c856
62 changes: 62 additions & 0 deletions .github/workflows/dependency-extraction-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -171,3 +171,65 @@ jobs:
echo "All dependencies remain unchanged since the last extraction." >> $GITHUB_STEP_SUMMARY
fi

- name: Create issue on failure
if: failure()
uses: actions/github-script@v7
with:
script: |
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
const timestamp = new Date().toISOString();

// Check if there's already an open issue for failed nightly runs
const issues = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
labels: 'automated,dependencies,nightly-failure',
per_page: 1
});

const issueBody = `## ⚠️ Nightly Dependency Extraction Failed

**Run:** ${runUrl}
**Time:** ${timestamp}
**Branch:** \`${{ github.ref_name }}\`

### Failure Details
The automated nightly dependency extraction workflow has failed. Please investigate and resolve the issue.

### Possible Causes
- Parsing errors in dependency files (Dockerfiles, requirements.txt, go.mod, etc.)
- Network issues accessing the repository
- Changes to file structure or naming conventions
- Python script errors or exceptions

### Action Required
1. Review the workflow run logs: ${runUrl}
2. Fix any identified issues
3. Re-run the workflow manually to verify the fix
4. Close this issue once resolved

**Note:** This issue was automatically created by the nightly dependency extraction workflow.`;

if (issues.data.length > 0) {
// Update existing issue with new failure
const existingIssue = issues.data[0];
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: existingIssue.number,
body: `### πŸ”„ Another Failure Detected\n\n**Run:** ${runUrl}\n**Time:** ${timestamp}\n\nThe nightly dependency extraction is still failing. Please prioritize investigation.`
});
core.info(`Updated existing issue #${existingIssue.number}`);
} else {
// Create new issue
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `⚠️ Nightly Dependency Extraction Failed - ${timestamp.split('T')[0]}`,
body: issueBody,
labels: ['automated', 'dependencies', 'nightly-failure', 'bug']
});
core.info('Created new failure issue');
}

44 changes: 44 additions & 0 deletions .github/workflows/dependency-extraction-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,47 @@ jobs:
echo "πŸ“ A pull request has been created to add this snapshot to the repository." >> $GITHUB_STEP_SUMMARY
fi

- name: Create issue on failure
if: failure()
uses: actions/github-script@v7
with:
script: |
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`;
const timestamp = new Date().toISOString();
const version = '${{ steps.version.outputs.version }}';

const issueBody = `## ⚠️ Release Dependency Snapshot Failed

**Version:** v${version}
**Run:** ${runUrl}
**Time:** ${timestamp}
**Branch:** \`${{ github.ref_name }}\`

### Failure Details
The automated release dependency snapshot workflow has failed for version v${version}.

### Possible Causes
- Invalid version format in branch name or input
- Parsing errors in dependency files
- Permission issues writing to the repository
- Python script errors or exceptions

### Action Required
1. Review the workflow run logs: ${runUrl}
2. Verify the version format (X.Y.Z)
3. Fix any identified issues
4. Re-run the workflow manually to create the snapshot
5. Close this issue once resolved

**Note:** This issue was automatically created by the release dependency snapshot workflow.`;

// Create new issue for release failures (don't check for existing as these are version-specific)
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: `⚠️ Release Dependency Snapshot Failed - v${version}`,
body: issueBody,
labels: ['automated', 'dependencies', 'release-snapshot-failure', 'bug']
});
core.info(`Created failure issue for v${version}`);