|
4 | 4 |
|
5 | 5 | The project uses GitHub Actions for continuous integration and continuous deployment. The main workflow runs on pull requests to ensure code quality, test coverage, and compliance before code is merged. |
6 | 6 |
|
| 7 | +In addition to the pull request workflow, the project uses [Dependabot](https://docs.github.com/en/code-security/dependabot) to automatically manage dependency updates. Dependabot pull requests go through the same CI/CD pipeline as regular pull requests, ensuring all updates are tested before merging. |
| 8 | + |
7 | 9 | ## Pull Request Workflow |
8 | 10 |
|
9 | 11 | The **Pull Request** workflow (`.github/workflows/pull-request.yml`) is triggered automatically on pull requests to `main` or `develop` branches. It performs checks including code linting, multi-level testing, code coverage reporting, and automatic PR status comments. |
@@ -283,6 +285,55 @@ dotnet test \ |
283 | 285 | --logger "console;verbosity=detailed" |
284 | 286 | ``` |
285 | 287 |
|
| 288 | +## Dependabot Integration |
| 289 | + |
| 290 | +The project uses GitHub Dependabot for automated dependency management, configured via `.github/dependabot.yml`. |
| 291 | + |
| 292 | +### Configuration |
| 293 | + |
| 294 | +Dependabot monitors three package ecosystems: |
| 295 | + |
| 296 | +1. **NuGet Packages** (.NET dependencies) |
| 297 | + - Weekly update checks |
| 298 | + - Up to 10 concurrent pull requests |
| 299 | + - Commit message prefix: `chore(nuget)` |
| 300 | + - Labels: `dependencies`, `nuget` |
| 301 | + |
| 302 | +2. **GitHub Actions** (workflow action versions) |
| 303 | + - Weekly update checks |
| 304 | + - Up to 5 concurrent pull requests |
| 305 | + - Commit message prefix: `chore(github-actions)` |
| 306 | + - Labels: `dependencies`, `github-actions` |
| 307 | + |
| 308 | +3. **Docker Dependencies** (container images) |
| 309 | + - Weekly update checks |
| 310 | + - Up to 5 concurrent pull requests |
| 311 | + - Commit message prefix: `chore(docker)` |
| 312 | + - Labels: `dependencies`, `docker` |
| 313 | + |
| 314 | +### Update Behavior |
| 315 | + |
| 316 | +- **Cooldown Period**: 14 days between updates for the same dependency to prevent excessive PRs |
| 317 | +- **Automatic Review Assignment**: Pull requests are automatically assigned to designated reviewers |
| 318 | +- **Conventional Commits**: All dependency updates follow the conventional commit format for consistency |
| 319 | +- **CI/CD Integration**: Dependabot PRs automatically trigger the pull request workflow, running all linting, tests, and coverage checks |
| 320 | + |
| 321 | +### Managing Dependabot PRs |
| 322 | + |
| 323 | +1. **Review**: Each PR includes a changelog and release notes when available |
| 324 | +2. **Test**: All PRs run through the full CI/CD pipeline automatically |
| 325 | +3. **Merge**: Once approved and tests pass, merge using standard GitHub PR workflow |
| 326 | +4. **Bulk Operations**: Use GitHub's "Merge" or "Rebase and merge" options for multiple dependency updates |
| 327 | + |
| 328 | +### Best Practices |
| 329 | + |
| 330 | +- **Regular Reviews**: Review and merge Dependabot PRs regularly to stay current with security patches and features |
| 331 | +- **Batch Updates**: Consider batching multiple minor/patch updates together when possible |
| 332 | +- **Test Coverage**: All dependency updates are automatically tested, but manual verification is recommended for major version updates |
| 333 | +- **Security Updates**: Prioritize security-related dependency updates (Dependabot will label these accordingly) |
| 334 | + |
| 335 | +For more information, see the [Dependabot documentation](https://docs.github.com/en/code-security/dependabot). |
| 336 | + |
286 | 337 | ## Troubleshooting |
287 | 338 |
|
288 | 339 | ### Workflow Failures |
|
0 commit comments