Skip to content

chore(deps): Renovate — Go/Cargo grouping, off-hours schedule, PR-cap (ADR-0812) - #173

Closed
lusoris wants to merge 1 commit into
masterfrom
worktree-agent-a91527ddaa5cc852f
Closed

lusoris wants to merge 1 commit into
masterfrom
worktree-agent-a91527ddaa5cc852f

Conversation

@lusoris

@lusoris lusoris commented May 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Schedule: global "at any time" → "before 6am on weekdays" (Europe/Vienna); vulnerability alerts keep their existing "at any time" + minimumReleaseAge: 0 override
  • Go deps: new gomod packageRule groups all minor+patch bumps into one weekly PR (auto-merge Monday mornings); major bumps are individual and require human review
  • Cargo deps: same pattern for Rust/Cargo — minor+patch grouped + auto-merged; major manual
  • prConcurrentLimit: 12 → 10 (Go grouping reduces per-cycle PR count substantially)
  • ADR-0812 documents the decision and alternatives

Motivation

go.mod has ~60 direct+indirect dependencies (k8s, grpc, prometheus, MCP SDK); without grouping each bump produced its own PR, flooding the review queue. The schedule change prevents Renovate from racing active feature PRs for CI capacity during business hours.

Checklist

  • forkProcessing: "enabled" — already present, verified unchanged
  • Schedule avoids weekends + business hours — "before 6am on weekdays" (Mon–Fri, pre-06:00 Vienna time)
  • Go deps grouped — gomod minor+patch auto-merges; major manual
  • Rust/Cargo deps grouped — cargo minor+patch auto-merges; major manual
  • Major bumps require human approval — automerge: false on all major rules
  • renovate.json is valid JSON (python3 -m json.tool passes)
  • ADR-0812 filed + indexed
  • Changelog fragment: changelog.d/changed/0812-renovate-go-rust-scheduling.md
  • Rebase-notes entry added

Deep-dive deliverables (ADR-0108)

  • Research digest — no digest needed: trivial Renovate config tuning, no novel design
  • Decision matrix — ADR-0812 ## Alternatives considered
  • AGENTS.md invariant note — no rebase-sensitive invariants: renovate.json is fork-local config
  • Reproducer / smoke-test command — no smoke needed: python3 -m json.tool renovate.json validates config syntax
  • CHANGELOG fragment — changelog.d/changed/0812-renovate-go-rust-scheduling.md
  • Rebase note — no rebase impact: renovate.json is fork-local config with no upstream equivalent

Test plan

  • Confirm Renovate dependency dashboard at lusoris/vmaf (or VMAFx/vmafx) shows Go + Cargo groups after the next bot run
  • Verify no Renovate PRs open outside the configured schedule window
  • Spot-check a Go minor-bump PR is auto-merged after CI passes

no digest needed: trivial
no rebase impact: renovate.json is fork-local config with no upstream equivalent

🤖 Generated with Claude Code

@lusoris
lusoris enabled auto-merge (squash) May 29, 2026 10:21
@lusoris
lusoris force-pushed the worktree-agent-a91527ddaa5cc852f branch from 9c299f0 to d2517f9 Compare May 29, 2026 11:31
@lusoris
lusoris disabled auto-merge May 29, 2026 11:48
@lusoris
lusoris marked this pull request as draft May 29, 2026 11:48
@lusoris
lusoris force-pushed the worktree-agent-a91527ddaa5cc852f branch 2 times, most recently from 3413e44 to f4471b2 Compare May 29, 2026 13:14
… (ADR-0812)

- Global schedule: "at any time" → "before 6am on weekdays" (Europe/Vienna);
  vulnerability alerts retain their existing "at any time" override.
- Add gomod packageRule: minor+patch grouped, auto-merged Monday mornings;
  major individual, manual review.
- Add cargo packageRule: same group-and-automerge pattern; major manual.
- prConcurrentLimit: 12 → 10 (Go grouping reduces PR count per cycle).
- ADR-0812 documents the decision and alternatives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lusoris
lusoris force-pushed the worktree-agent-a91527ddaa5cc852f branch from f4471b2 to b46fa38 Compare May 29, 2026 15:27
@lusoris
lusoris marked this pull request as ready for review May 31, 2026 13:39
@lusoris

lusoris commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by master after merge marathon 2026-05-31.

@lusoris lusoris closed this May 31, 2026
@lusoris
lusoris deleted the worktree-agent-a91527ddaa5cc852f branch May 31, 2026 13:43
@lusoris
lusoris restored the worktree-agent-a91527ddaa5cc852f branch May 31, 2026 18:43
@lusoris lusoris reopened this May 31, 2026
@lusoris
lusoris marked this pull request as draft May 31, 2026 18:50
@lusoris

lusoris commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #520 — bundled per 2026-06-01 triage.

@lusoris lusoris closed this Jun 1, 2026
lusoris added a commit that referenced this pull request Jun 2, 2026
…141 #165 #173 #183

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lusoris added a commit that referenced this pull request Jun 2, 2026
…-24.04 pin + #173 Renovate grouping + #183 release-please draft) (#520)

* chore(ci): nightly workflow audit — remove redundant TSan, fix retention + Python ver (ADR-0793)

Three targeted fixes surfaced by a periodic nightly-CI audit:

1. Remove the `tsan` job from nightly.yml. sanitizers.yml already fires
   TSan on every push to master (ADR-0710); the daily cron duplicate burned
   ~45 runner-minutes/night for zero additional signal.

2. Add explicit `retention-days` to both nightly artifacts: 14 d for the
   clang-tidy-full-report (diagnostic value expires quickly) and 30 d for
   nightly-benchmark-results (one month of period-over-period comparisons).
   Both previously defaulted to GitHub's 90-day retention.

3. Fix `python-version: "3.14.5"` → `"3.12"` in nightly-bisect.yml.
   Python 3.14 is a pre-release alpha series with no stable release; the
   step name ("Set up Python 3.12") was correct and the version string was
   wrong. This would cause the job to fail trying to download a non-existent
   release.

No functional changes to test coverage. All nightly signal is preserved.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(ci): pin ubuntu-latest to ubuntu-24.04 across all non-Docker runners (ADR-0802)

Replace floating `ubuntu-latest` runner alias with `ubuntu-24.04` across 15
workflow files to prevent silent toolchain drift when GitHub promotes the alias
to Ubuntu 26.04 (expected H2 2026). Add ADR-0802 documenting the pin policy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): Renovate — Go/Cargo grouping, off-hours schedule, PR-cap (ADR-0812)

- Global schedule: "at any time" → "before 6am on weekdays" (Europe/Vienna);
  vulnerability alerts retain their existing "at any time" override.
- Add gomod packageRule: minor+patch grouped, auto-merged Monday mornings;
  major individual, manual review.
- Add cargo packageRule: same group-and-automerge pattern; major manual.
- prConcurrentLimit: 12 → 10 (Go grouping reduces PR count per cycle).
- ADR-0812 documents the decision and alternatives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(release): set release-please draft mode for manual version review

Set `"draft": true` in `release-please-config.json` root package so the
next release PR opens as a draft, requiring manual review before merge.
Prevents an unintended `4.0.0` major bump caused by three incorrectly
marked breaking commits (PR #52, #80, #108).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(ci): add bundle CHANGELOG fragment for CI workflow hygiene PRs #141 #165 #173 #183

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Lusoris <lusoris@pm.me>
@lusoris
lusoris deleted the worktree-agent-a91527ddaa5cc852f branch June 4, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant