|
| 1 | +# ------------------------------------------------------------------------------ |
| 2 | +# (c) Crown copyright Met Office. All rights reserved. |
| 3 | +# The file LICENCE, distributed with this code, contains details of the terms |
| 4 | +# under which the code may be used. |
| 5 | +# ------------------------------------------------------------------------------ |
| 6 | +# |
| 7 | +# ============================================================================== |
| 8 | +# Dependabot Configuration |
| 9 | +# |
| 10 | +# This configuration automates security updates for third-party GitHub Actions. |
| 11 | +# To protect our downstream consumers, all actions must be pinned to a |
| 12 | +# 40-character commit SHA rather than a mutable version tag. |
| 13 | +# |
| 14 | +# Custom rulesets in place: |
| 15 | +# 1. Monthly Schedule: Checks for updates once a month to minimize noise. |
| 16 | +# 2. Major Version Lock: Automated major updates (e.g., v9 to v10) are blocked |
| 17 | +# to prevent unexpected breaking code changes. |
| 18 | +# 3. PR Grouping: All discovered minor/patch updates are bundled into a single |
| 19 | +# monthly Pull Request instead of flooding the repository notifications. |
| 20 | +# |
| 21 | +# How to manually trigger a Major Update: |
| 22 | +# To safely upgrade an action to its next major version baseline: |
| 23 | +# 1. Open the workflow file. |
| 24 | +# 2. Leave the old SHA exactly as it is, but manually change the trailing |
| 25 | +# comment tag to the new target baseline version (e.g., update the text |
| 26 | +# from "# v4.0.0" to "# v5.0.0"). |
| 27 | +# 3. Push your change. Dependabot will instantly recognize the target update |
| 28 | +# and generate a new PR containing the correct, matching v5 commit hash. |
| 29 | +# ============================================================================== |
| 30 | + |
| 31 | +version: 2 |
| 32 | +updates: |
| 33 | + # Enable automatic tracking for GitHub Actions dependencies |
| 34 | + - package-ecosystem: "github-actions" |
| 35 | + directory: "/" |
| 36 | + schedule: |
| 37 | + interval: "monthly" |
| 38 | + cooldown: |
| 39 | + default-days: 7 |
| 40 | + |
| 41 | + # Ignore rules to block major version jumps |
| 42 | + ignore: |
| 43 | + - dependency-name: "*" |
| 44 | + update-types: ["version-update:semver-major"] |
| 45 | + |
| 46 | + groups: |
| 47 | + # Group all action updates into a single PR to reduce noise |
| 48 | + # Rule applies across every single third-party action used in all workflows |
| 49 | + github-actions-dependencies: |
| 50 | + patterns: |
| 51 | + - "*" |
0 commit comments