docs/dependency-management.md
This document outlines the automated dependency management process for the GitHub Actions Runner, designed to ensure we maintain up-to-date and secure dependencies while providing predictable release cycles.
Note: These workflows are implemented across separate PRs for easier review and independent deployment. Each workflow includes comprehensive error handling and security-focused vulnerability detection.
.github/workflows/setup-labels.yml (PR #4024)dependencies, security, typescript, needs-manual-review.github/workflows/node-upgrade.ymlsrc/Misc/externals.shPrimary Workflow: .github/workflows/npm-audit.yml ("NPM Audit Fix")
src/Misc/expressionFunc/hashFiles/Fallback Workflow: .github/workflows/npm-audit-typescript.yml ("NPM Audit Fix with TypeScript Auto-Fix")
.github/workflows/dotnet-upgrade.yml.github/workflows/docker-buildx-upgrade.yml ("Docker/Buildx Version Upgrade").github/workflows/dependency-check.yml ("Dependency Status Check")Before each monthly runner release:
Check Dependency PRs:
# List all open dependency PRs
gh pr list --label "dependencies" --state open
# List only automated weekly dependency updates
gh pr list --label "dependencies-weekly-check" --state open
# List only custom dependency automation (not dependabot)
gh pr list --label "dependencies-not-dependabot" --state open
Run Manual Dependency Check:
Review and Merge Updates:
dependencies labelYou can manually trigger dependency checks:
All automated dependency PRs are tagged with labels for easy filtering and management:
dependencies: All automated dependency-related PRsdependencies-weekly-check: Automated weekly dependency updates from scheduled workflowsdependencies-not-dependabot: Custom dependency automation (not created by dependabot)security: Security vulnerability fixes and patchestypescript: TypeScript compatibility and type definition updatesneeds-manual-review: Complex updates requiring human verificationnode: Node.js version updatesjavascript: JavaScript runtime and tooling updatesnpm: NPM package and security updatesdotnet: .NET SDK and NuGet package updatesdocker: Docker and container tooling updateschore/update-node branchchore/npm-audit-fix-YYYYMMDD and chore/npm-audit-fix-with-ts-repair branchesfeature/dotnetsdk-upgrade/{version} branchesfeature/docker-buildx-upgrade branchWhen updating Node.js versions, remember to:
NPM Audit Workflow Fails:
package.json exists in src/Misc/expressionFunc/hashFiles/Version Detection Fails:
PR Creation Fails:
GITHUB_TOKEN has sufficient permissionsFor questions about the dependency management process:
dependencies labelTrack these metrics to measure dependency management effectiveness: