Repository navigation
CI: Dependabot for npm (wiki), pip and GitHub Actions - #80
Merged
Merged
Conversation
Weekly npm updates for /wiki with minor/patch dev dependencies grouped, weekly pip updates for requirements-ci.txt, and monthly GitHub Actions updates so the SHA pins get reviewed bumps. Open PRs are capped per ecosystem. CI runs on every pull_request and needs no secrets, so each update PR goes through the protected CI / required gate, browser soak included. Closes #10.
Deicyde
force-pushed
the
claude/dependabot-config
branch
from
October 17, 2026 23:36
4e773ba to
8dc4631
Compare
Owner
Author
|
Recommendation: merge (at
With #81 closing, there's no merge ordering. Release-neutral. Posted by the WikiLean PR swarm (lead); updated 2026-10-18. |
…keep wrangler/ajv/esbuild apart Six pip pins (pg8000, scramp, asn1crypto, python-dateutil, six, PyYAML) are exact versions sealed by brain code and checked in CI, so a single bump can never pass; they are ignored and bumped by hand with a profile reseal. requirements-ci.txt is a resolved freeze with lockstep pairs, so pip updates are grouped into one PR. The npm dev group excludes wrangler (the deploy, backup and rollback tool, which no CI job runs) and ajv/esbuild (their bumps change the committed companion validator), and @types/node majors are ignored. CONTRIBUTING.md says when to merge these release-affecting PRs and what each special case needs.
#84 added .github/backup-wrangler, the exact Wrangler subset of wiki/package-lock.json that scripts/backup_wrangler_lock.py generates and CI checks. It gets no Dependabot entry; it follows wiki's wrangler. CONTRIBUTING.md now says a wrangler PR (or any npm PR that moves a package Wrangler depends on) must run 'python3 scripts/backup_wrangler_lock.py --write' in the same PR, since CI's check fails until it does.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10.
Problem
WikiLean has no Dependabot or Renovate configuration, so npm, pip and SHA-pinned GitHub Actions updates pile up silently. An
npm auditofwiki/package-lock.jsononmaintoday reports 10 advisories (3 moderate, 5 high, 2 critical). They are inhono,wrangler's transitive deps (miniflare, sharp, undici),vitest/tinypool,ajvandsource-map-js.Change
New
.github/dependabot.yml, per the issue's acceptance criteria:/wiki, weekly, with minor and patch dev-dependency updates grouped into one PR.wrangler,ajvandesbuildstay out of the group and arrive alone: wrangler is the deploy, backup and rollback tool, which no CI job runs, and an ajv or esbuild bump changes the committed companion validator.@types/nodemajors are ignored, since the project runs Node 22;requirements-ci.txt, weekly, as one grouped PR, because the file is a resolved freeze with lockstep pairs (pydantic/pydantic_core, mcp/mcp-types, httpx2/httpcore2). The six pins that brain code seals and CI checks (pg8000, scramp, asn1crypto, python-dateutil, six and PyYAML) are ignored, to be bumped by hand with a profile reseal;ci.ymlruns on everypull_requestwith no path filter and uses no secrets, so each update PR runs the protectedCI / requiredgate (worker, python and browser).Two npm directories are left out on purpose:
.github/claude-cli(the poller's pinned CLI, bumped by hand) and.github/backup-wrangler, whichscripts/backup_wrangler_lock.pygenerates fromwiki/package-lock.jsonand CI checks, so it follows wiki's wrangler.CONTRIBUTING.md(Pull requests) gains a paragraph saying when to merge these PRs. npm and pip PRs change release-affecting files, so they merge at the start of a release cycle and never between a build and its promotion. A wrangler PR (or any npm PR that moves a package Wrangler depends on) also runspython3 scripts/backup_wrangler_lock.py --write, since CI's check fails until it does, and updates the runbook's Wrangler notes. An ajv or esbuild PR may need the validator regenerated. After anupload-artifactbump, Backup D1 should be dispatched once.How tested
requirements-ci.txtandbrain/lmfdb_source_dependencies.py/brain/git_harvest_dependencies.py.site/ops/brain_release_authority.py.Risks
wiki/package.jsonandwiki/package-lock.jsonare release-affecting, so a merged npm update to the Worker's runtime dependencies rides the next Brain release, like any Worker change.What Jack must do
honoto 4.13.12, which has the security fixes.wrangler,vitest(a major upgrade) andajvstill need decisions on timing and testing, and with this config each arrives as its own PR.