Skip to content

ci(renovate): group cargo / github-actions updates and enable lockFileMaintenance#1307

Merged
mergify[bot] merged 1 commit intomainfrom
devs/jd/worktree-rust-port/group-cargo-github-actions-updates-enable--7506fae5
Apr 28, 2026
Merged

ci(renovate): group cargo / github-actions updates and enable lockFileMaintenance#1307
mergify[bot] merged 1 commit intomainfrom
devs/jd/worktree-rust-port/group-cargo-github-actions-updates-enable--7506fae5

Conversation

@jd
Copy link
Copy Markdown
Member

@jd jd commented Apr 27, 2026

The Rust workspace is growing fast — 5 crates already, more landing as
the port progresses. Without grouping, every minor/patch bump from
crates.io produces its own PR; with two managers (cargo and
github-actions) on a stack of stacked PRs that quickly drowns review.

  • Group cargo minor/patch updates into a single weekly PR.
  • Group github-actions minor/patch updates the same way.
  • Enable lockFileMaintenance for Cargo.lock (Monday morning) so
    indirect dep drift doesn't accumulate between explicit Cargo.toml
    changes.

Major bumps still get their own PR (default behaviour kept) so they
stay easy to triage individually.

Copilot AI review requested due to automatic review settings April 27, 2026 07:03
@jd
Copy link
Copy Markdown
Member Author

jd commented Apr 27, 2026

This pull request is part of a Mergify stack:

# Pull Request Link
1 ci(renovate): group cargo / github-actions updates and enable lockFileMaintenance #1307 👈
2 feat(rust): add mergify-core::http with retry + typed errors (Phase 1.2b) #1281
3 feat(rust): port config validate to native Rust (Phase 1.3) #1282
4 test: add port-inventory guard to catch un-ported Python commands #1296
5 ci: add Rust release workflow targeting GitHub Release assets #1297
6 feat(rust): port config simulate to native Rust (Phase 1.3b) #1298
7 feat(rust): port ci scopes-send to native Rust (Phase 1.4) #1300
8 feat(rust): port queue pause and unpause to native Rust (Phase 1.5) #1301
9 feat(rust): port ci git-refs and ci queue-info to native Rust (Phase 1.6) #1302

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Apr 27, 2026

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🟢 🤖 Continuous Integration

Wonderful, this rule succeeded.
  • all of:
    • check-success=ci-gate

🟢 👀 Review Requirements

Wonderful, this rule succeeded.
  • any of:
    • #approved-reviews-by>=2
    • author = dependabot[bot]
    • author = mergify-ci-bot
    • author = renovate[bot]

🟢 Enforce conventional commit

Wonderful, this rule succeeded.

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:

🟢 🔎 Reviews

Wonderful, this rule succeeded.
  • #changes-requested-reviews-by = 0
  • #review-requested = 0
  • #review-threads-unresolved = 0

🟢 📕 PR description

Wonderful, this rule succeeded.
  • body ~= (?ms:.{48,})

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Renovate configuration to reduce dependency update PR noise as the Rust workspace grows, by grouping related updates and enabling periodic lockfile maintenance.

Changes:

  • Enable Renovate lockFileMaintenance on a Monday-morning schedule.
  • Group cargo minor/patch updates into a single PR.
  • Group github-actions minor/patch updates into a single PR.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread renovate.json
Comment thread renovate.json
Comment thread renovate.json
@mergify mergify Bot requested a review from a team April 27, 2026 07:09
@jd jd marked this pull request as ready for review April 28, 2026 06:32
…eMaintenance

The Rust workspace is growing fast — 5 crates already, more landing as
the port progresses. Without grouping, every minor/patch bump from
crates.io produces its own PR; with two managers (`cargo` and
`github-actions`) on a stack of stacked PRs that quickly drowns review.

- Group `cargo` minor/patch updates into a single weekly PR.
- Group `github-actions` minor/patch updates the same way.
- Enable `lockFileMaintenance` for `Cargo.lock` (Monday morning) so
  indirect dep drift doesn't accumulate between explicit Cargo.toml
  changes.

Major bumps still get their own PR (default behaviour kept) so they
stay easy to triage individually.

Change-Id: I7506fae52e2c6bfb2c12af80391b1eb07a9b93f0
@jd jd force-pushed the devs/jd/worktree-rust-port/group-cargo-github-actions-updates-enable--7506fae5 branch from 9931366 to 79c70aa Compare April 28, 2026 06:48
@jd
Copy link
Copy Markdown
Member Author

jd commented Apr 28, 2026

Revision history

# Type Changes Reason Date
1 initial 9931366 2026-04-28 06:48 UTC
2 content 9931366 → 79c70aa 2026-04-28 06:48 UTC

@mergify mergify Bot deployed to Mergify Merge Protections April 28, 2026 06:49 Active
@mergify mergify Bot requested a review from a team April 28, 2026 06:56
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Apr 28, 2026

Merge Queue Status

  • Entered queue2026-04-28 08:32 UTC · Rule: default
  • Checks skipped · PR is already up-to-date
  • Merged2026-04-28 08:33 UTC · at 79c70aa592414abc9499191d0dbb10ac84dcf629 · squash

This pull request spent 35 seconds in the queue, including 2 seconds running CI.

Required conditions to merge

@mergify mergify Bot merged commit 5d8fa9b into main Apr 28, 2026
13 checks passed
@mergify mergify Bot deleted the devs/jd/worktree-rust-port/group-cargo-github-actions-updates-enable--7506fae5 branch April 28, 2026 08:33
@mergify mergify Bot added queued and removed queued labels Apr 28, 2026
mergify Bot pushed a commit that referenced this pull request Apr 28, 2026
….2b) (#1281)

Adds the HTTP client every ported command uses. Wraps ``reqwest``
with the invariants the design requires:

- Bearer-token auth injected when the token is non-empty; skipped
  otherwise so GitHub's anonymous public-repo reads still work.
- Tenacity-style retry on 5xx and transient network errors: 3
  attempts, exponential backoff starting at 1s. 4xx responses are
  never retried — those are caller errors and retrying would mask
  bugs.
- Typed error mapping: HTTP failures become either
  ``CliError::GitHubApi`` or ``CliError::MergifyApi`` based on the
  ``ApiFlavor`` passed at construction, so ``exit_code()`` routes
  to ``GITHUB_API_ERROR`` (5) or ``MERGIFY_API_ERROR`` (6)
  automatically.
- Per-request timeout of 30s.
- ``RetryPolicy`` is public so tests can skip the wall-clock
  backoff with ``initial_backoff = 0``.

Also extends ``CliError`` with the two new API variants and
updates the ``exit_code()`` mapping + unit tests.

Command crates MUST NOT import ``reqwest`` directly — the only
HTTP surface is ``HttpClient::get`` and ``HttpClient::post``.

6 new tests cover: happy-path GET, empty-token behavior, POST
with JSON body, retry on 5xx then success, exhausted retries
mapping to ``MergifyApi``, 4xx not retried and mapping to
``GitHubApi``. All use ``wiremock`` for hermetic local HTTP.

Next sub-phase (1.2c / 1.2d) adds colored/spinner affordances and
the ``GitOps`` trait only when the first ported command needs
them; this PR is the minimum ``config validate`` requires.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Depends-On: #1307
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants