|
| 1 | +# Dependency updates. Cargo.lock is tracked and both CI and the Docker build use |
| 2 | +# `--locked`, so a dependency only moves when a pull request moves it here. |
| 3 | +# |
| 4 | +# Grouped, monthly, and capped on purpose: the dependency surface is small (arrow, |
| 5 | +# parquet, mzdata, clap, serde, rayon and a handful of leaves) and an unreviewed |
| 6 | +# arrow or parquet bump can change artifact encoding, which is a data-format change |
| 7 | +# rather than a routine upgrade. Every bump still has to pass the full CI gate. |
| 8 | +version: 2 |
| 9 | +updates: |
| 10 | + - package-ecosystem: cargo |
| 11 | + directory: /rust/mumdia |
| 12 | + schedule: |
| 13 | + interval: monthly |
| 14 | + open-pull-requests-limit: 5 |
| 15 | + groups: |
| 16 | + # The Arrow/Parquet pair must move together: they share a version line, and |
| 17 | + # the engine's on-disk contract (snappy, utf8, list columns) rides on them. |
| 18 | + arrow-parquet: |
| 19 | + patterns: |
| 20 | + - arrow* |
| 21 | + - parquet* |
| 22 | + # Everything else, batched so review is one pull request rather than ten. |
| 23 | + rust-minor-and-patch: |
| 24 | + patterns: |
| 25 | + - "*" |
| 26 | + exclude-patterns: |
| 27 | + - arrow* |
| 28 | + - parquet* |
| 29 | + update-types: |
| 30 | + - minor |
| 31 | + - patch |
| 32 | + |
| 33 | + # Base images, so the digest pins in the Dockerfile stay current instead of |
| 34 | + # freezing the image on a base that stops receiving security updates. Pinning |
| 35 | + # without an update path is how a reproducible image becomes an unpatched one. |
| 36 | + - package-ecosystem: docker |
| 37 | + directory: / |
| 38 | + schedule: |
| 39 | + interval: monthly |
| 40 | + open-pull-requests-limit: 2 |
| 41 | + |
| 42 | + # No `pip` entry, deliberately. The Python dependency surface lives in the pip |
| 43 | + # sections of the conda specifications under `env/`, which Dependabot does not |
| 44 | + # parse: its pip ecosystem reads requirements.txt, pyproject.toml, Pipfile or |
| 45 | + # poetry.lock. Adding a mirror requirements file to satisfy the scanner would |
| 46 | + # create a second list that nothing installs and that drifts from the one that |
| 47 | + # does, which is worse than no entry. |
| 48 | + # |
| 49 | + # What covers the gap meanwhile: the `sidecar-imports` CI job resolves both |
| 50 | + # environments for real and runs `pip-audit` over them, so a known |
| 51 | + # vulnerability in a sidecar dependency fails a build. The permanent fix is |
| 52 | + # `scripts/pyproject.toml` (docs/22, WP4), after which a `pip` entry pointing |
| 53 | + # at /scripts belongs here. |
| 54 | + - package-ecosystem: github-actions |
| 55 | + directory: / |
| 56 | + schedule: |
| 57 | + interval: monthly |
| 58 | + open-pull-requests-limit: 3 |
| 59 | + groups: |
| 60 | + actions: |
| 61 | + patterns: |
| 62 | + - "*" |
0 commit comments