Skip to content

Commit 5d1bb66

Browse files
ruromeroclaude
andauthored
fix: suppress dependabot for non-production ecosystems (guacsec#498)
* fix: suppress dependabot for non-production ecosystems Add root-level `ignore: [{dependency-name: "*"}]` entries for all ecosystems with no production dependencies (maven, pip, uv, gomod, gradle, cargo). Replace glob patterns with explicit directory listings for npm test fixture entries, since `/**` globs don't reliably match nested subdirectories for security updates. Add test fixture guidance to CONVENTIONS.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: correct project name in CONVENTIONS.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d9c1ae4 commit 5d1bb66

2 files changed

Lines changed: 64 additions & 30 deletions

File tree

.github/dependabot.yml

Lines changed: 59 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,70 +30,100 @@ updates:
3030
patterns:
3131
- "*"
3232

33-
# ── Test fixture manifests (suppress all updates including security) ─
34-
# These directories contain intentionally pinned dependencies used as
35-
# test fixtures. They must NOT be updated by dependabot.
36-
- package-ecosystem: "npm"
37-
directories:
38-
- "/test/providers/tst_manifests/npm/**"
39-
- "/test/providers/tst_manifests/pnpm/**"
40-
- "/test/providers/tst_manifests/yarn-berry/**"
41-
- "/test/providers/tst_manifests/yarn-classic/**"
42-
- "/test/providers/tst_manifests/js-common/**"
43-
- "/test/providers/provider_manifests/npm/**"
44-
- "/test/providers/provider_manifests/pnpm/**"
45-
- "/test/providers/provider_manifests/yarn-berry/**"
46-
- "/test/providers/provider_manifests/yarn-classic/**"
33+
# ── Non-production ecosystems (no real deps, suppress everything) ────
34+
# The repo has no production maven/pip/go/gradle/cargo dependencies.
35+
# A root-level ignore-all entry ensures security updates are also
36+
# suppressed, since per-directory entries with globs don't reliably
37+
# block them.
38+
- package-ecosystem: "maven"
39+
directory: "/"
4740
schedule:
4841
interval: "monthly"
42+
open-pull-requests-limit: 0
4943
labels: []
5044
ignore:
5145
- dependency-name: "*"
5246
- package-ecosystem: "pip"
53-
directories:
54-
- "/test/providers/tst_manifests/pip/**"
55-
- "/test/providers/tst_manifests/pyproject/**"
47+
directory: "/"
5648
schedule:
5749
interval: "monthly"
50+
open-pull-requests-limit: 0
5851
labels: []
5952
ignore:
6053
- dependency-name: "*"
6154
- package-ecosystem: "uv"
62-
directories:
63-
- "/test/providers/tst_manifests/pyproject/**"
55+
directory: "/"
6456
schedule:
6557
interval: "monthly"
58+
open-pull-requests-limit: 0
6659
labels: []
6760
ignore:
6861
- dependency-name: "*"
69-
- package-ecosystem: "maven"
70-
directories:
71-
- "/test/providers/tst_manifests/maven/**"
62+
- package-ecosystem: "gomod"
63+
directory: "/"
7264
schedule:
7365
interval: "monthly"
66+
open-pull-requests-limit: 0
7467
labels: []
7568
ignore:
7669
- dependency-name: "*"
7770
- package-ecosystem: "gradle"
78-
directories:
79-
- "/test/providers/tst_manifests/gradle/**"
71+
directory: "/"
8072
schedule:
8173
interval: "monthly"
74+
open-pull-requests-limit: 0
8275
labels: []
8376
ignore:
8477
- dependency-name: "*"
8578
- package-ecosystem: "cargo"
86-
directories:
87-
- "/test/providers/tst_manifests/cargo/**"
88-
- "/test/providers/provider_manifests/cargo/**"
79+
directory: "/"
8980
schedule:
9081
interval: "monthly"
82+
open-pull-requests-limit: 0
9183
labels: []
9284
ignore:
9385
- dependency-name: "*"
94-
- package-ecosystem: "gomod"
86+
87+
# ── Test fixture manifests (npm only) ───────────────────────────────
88+
# npm is the production ecosystem so it cannot use a root-level
89+
# ignore-all. Glob patterns (/**) don't reliably match nested
90+
# subdirectories for security updates, so every directory containing
91+
# a package.json is listed explicitly. Update this list when adding
92+
# new test fixtures.
93+
- package-ecosystem: "npm"
9594
directories:
96-
- "/test/providers/tst_manifests/golang/**"
95+
- "/test/providers/provider_manifests/npm/with_lock_file"
96+
- "/test/providers/provider_manifests/npm/without_lock_file"
97+
- "/test/providers/provider_manifests/npm/workspace_member_with_lock"
98+
- "/test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a"
99+
- "/test/providers/provider_manifests/npm/workspace_member_without_lock"
100+
- "/test/providers/provider_manifests/npm/workspace_member_without_lock/packages/module-a"
101+
- "/test/providers/provider_manifests/pnpm/with_lock_file"
102+
- "/test/providers/provider_manifests/pnpm/without_lock_file"
103+
- "/test/providers/provider_manifests/pnpm/workspace_member_without_lock"
104+
- "/test/providers/provider_manifests/pnpm/workspace_member_without_lock/packages/module-a"
105+
- "/test/providers/provider_manifests/yarn-berry/with_lock_file"
106+
- "/test/providers/provider_manifests/yarn-berry/without_lock_file"
107+
- "/test/providers/provider_manifests/yarn-classic/with_lock_file"
108+
- "/test/providers/provider_manifests/yarn-classic/without_lock_file"
109+
- "/test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object"
110+
- "/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types"
111+
- "/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object"
112+
- "/test/providers/tst_manifests/npm/workspace_member"
113+
- "/test/providers/tst_manifests/npm/workspace_member/packages/member-a"
114+
- "/test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object"
115+
- "/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types"
116+
- "/test/providers/tst_manifests/pnpm/package_json_deps_without_exhortignore_object"
117+
- "/test/providers/tst_manifests/pnpm/workspace_member"
118+
- "/test/providers/tst_manifests/pnpm/workspace_member/packages/member-a"
119+
- "/test/providers/tst_manifests/yarn-berry/package_json_deps_with_exhortignore_object"
120+
- "/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types"
121+
- "/test/providers/tst_manifests/yarn-berry/package_json_deps_without_exhortignore_object"
122+
- "/test/providers/tst_manifests/yarn-berry/workspace_member"
123+
- "/test/providers/tst_manifests/yarn-berry/workspace_member/packages/member-a"
124+
- "/test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object"
125+
- "/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types"
126+
- "/test/providers/tst_manifests/yarn-classic/package_json_deps_without_exhortignore_object"
97127
schedule:
98128
interval: "monthly"
99129
labels: []

CONVENTIONS.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Coding Conventions
22

3-
<!-- This file documents project-specific coding standards for exhort-javascript-api. -->
3+
<!-- This file documents project-specific coding standards for trustify-da-javascript-client. -->
44

55
## Language and Framework
66

@@ -90,6 +90,10 @@ test/
9090
- DCO (Developer Certificate of Origin) required
9191
- Semantic versioning (`0.3.0` in package.json)
9292

93+
## Test Fixtures
94+
95+
- **Dependabot suppression**: Test fixture directories contain intentionally pinned (sometimes vulnerable) dependencies. When adding a new test fixture directory with a manifest file, review `.github/dependabot.yml` to ensure the new path is covered. Non-npm ecosystems are suppressed via root-level `ignore: [{dependency-name: "*"}]` entries. npm fixtures use per-directory entries with `/**` globs; add the parent directory if a new npm/pnpm/yarn fixture tree is introduced.
96+
9397
## Dependencies
9498

9599
- **Package manager**: npm with `package-lock.json`

0 commit comments

Comments
 (0)