Skip to content

chore(deps): batch the outstanding dependabot bumps + group future ones - #640

Merged
Sohex merged 2 commits into
mainfrom
chore/dependabot-batch
Aug 20, 2026
Merged

chore(deps): batch the outstanding dependabot bumps + group future ones#640
Sohex merged 2 commits into
mainfrom
chore/dependabot-batch

Conversation

@Sohex

@Sohex Sohex commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Rolls the seven open dependabot PRs into one, and changes the dependabot
config so future weeks arrive grouped instead of one PR per dependency per
directory.

Bumps

Dependency From To Supersedes
base64 (workspace + /fuzz) 0.22.1 0.23.1 #634, #633
actions/checkout 7.0.0 7.0.1 #635
astral-sh/setup-uv 8.2.0 10.0.1 #638
docker/setup-buildx-action 4.1.0 4.3.0 #632
taiki-e/install-action 2.82.3 2.86.2 #636
vmactions/freebsd-vm 1.4.8 1.5.3 #637

base64 is the only semver-major of the set. Every call site names the
general_purpose::STANDARD engine explicitly (musefs-format/src/ogg/b64.rs
and friends) rather than leaning on a default, so the encoding is unchanged
and no code had to move — relevant because Ogg art rides on
METADATA_BLOCK_PICTURE base64, where a silent encoder change would be a
correctness bug rather than a build break.

The /fuzz lockfile is bumped in step, since that crate is outside the
workspace and the pre-commit gate does not cover it.

Also drops a stale # v4 pin comment beside the checkout SHA in docs.yml
that had been wrong since the v7 bump.

Grouping

.github/dependabot.yml now uses directories to span the two cargo
manifests and the five pip ones from a single update config, plus a
catch-all group per ecosystem. That caps a normal week at four PRs.

Ecosystems stay separate on purpose: cargo and github-actions bumps
exercise different CI legs, and the pre-commit gate runs the full workspace
suite, so mixing them makes a red run harder to attribute. The known
tradeoff is that one unmergeable dependency now blocks its whole group —
the fix, if it bites, is splitting the offender into its own named group.

Verification

All local, on the merged branch:

  • cargo build --all-targets — clean
  • cargo clippy --all-targets -- -D warnings — quiet
  • cargo test — 1281 passed, 0 failed
  • cargo test --workspace -- --ignored — the full e2e tier green, including
    the FUSE mount tests (end_to_end_read_through_mount, the Ogg page/audio
    validators, randomized_reads_match_oracle_all_formats,
    mmap_whole_file_matches_pread, the SIGTERM/unmount pair) and
    all_supported_formats_decode_to_same_pcm_sha_as_source, the ffmpeg PCM
    check that would catch a base64/art regression corrupting audio
  • scripts/contract-roundtrip.sh — 2 passed (Python-written tags and art
    survive Rust synthesis)
  • MUSEFS_INTEROP_DIR=... pytest tests/interop — 4 passed, mutagen reading
    back synthesized tags, binary frames, and M4A multi-cover art
  • cargo +nightly fuzz build — builds
  • yamllint over all tracked YAML — clean

The interop and contract suites ran against a venv built from
tests/interop/requirements.txt (mutagen 1.48.0), since mutagen is not in
the system Python here.

Closes #632
Closes #633
Closes #634
Closes #635
Closes #636
Closes #637
Closes #638

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores

    • Updated internal automation components to newer pinned revisions.
    • Consolidated weekly dependency update notifications by ecosystem and directory.
  • Maintenance

    • Updated Base64 support to version 0.23 across applicable components.
    • Improved consistency and security of automated checks, builds, releases, documentation, and coverage workflows.

Sohex and others added 2 commits August 20, 2026 15:40
Each manifest and dependency was opening its own PR. Use `directories` to
span the two cargo manifests and the five pip ones from a single update
config, and a catch-all group per ecosystem, so a week's bumps arrive as
four PRs instead of one per dependency per directory.

Ecosystems stay separate: cargo and github-actions bumps exercise
different CI legs, and the pre-commit gate runs the full workspace
suite — mixing them makes a red run harder to attribute.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Rolls up the seven open dependabot PRs (#632#638):

  base64                      0.22.1 -> 0.23.1  (workspace + /fuzz)
  actions/checkout            7.0.0  -> 7.0.1
  astral-sh/setup-uv          8.2.0  -> 10.0.1
  docker/setup-buildx-action  4.1.0  -> 4.3.0
  taiki-e/install-action      2.82.3 -> 2.86.2
  vmactions/freebsd-vm        1.4.8  -> 1.5.3

base64 is a semver-major bump, but the only call sites name the
`general_purpose::STANDARD` engine explicitly (musefs-format/src/ogg/b64.rs
and friends) rather than relying on a default, so the encoding is unchanged
and no code moved. Workspace builds clean, clippy is quiet, and the full
suite passes; `cargo +nightly fuzz build` covers the out-of-workspace fuzz
crate, whose lockfile is bumped in step.

Also drops a stale `# v4` pin comment beside the checkout SHA in docs.yml,
which had been wrong since the v7 bump.

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

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 91892681-1bb5-4461-ba29-fbeabeaf2a2c

📥 Commits

Reviewing files that changed from the base of the PR and between f1c6aca and e3472ff.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • fuzz/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (14)
  • .github/dependabot.yml
  • .github/workflows/audit.yml
  • .github/workflows/ci.yml
  • .github/workflows/coverage.yml
  • .github/workflows/docs.yml
  • .github/workflows/fuzz.yml
  • .github/workflows/lidarr-e2e.yml
  • .github/workflows/lidarr-smoke.yml
  • .github/workflows/mutants.yml
  • .github/workflows/release-python.yml
  • .github/workflows/release.yml
  • musefs-core/Cargo.toml
  • musefs-format/Cargo.toml
  • musefs-fuse/Cargo.toml

Included review availability: 4 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.


📝 Walkthrough

Walkthrough

The pull request consolidates Dependabot updates, refreshes pinned GitHub Actions revisions across workflows, and updates base64 dependencies from 0.22 to 0.23 in three Rust crates.

Changes

Dependency maintenance

Layer / File(s) Summary
Dependabot update grouping
.github/dependabot.yml
Cargo, pip, GitHub Actions, and Docker updates are grouped into weekly pull requests.
Workflow action pins
.github/workflows/*.yml
Pinned revisions for actions/checkout and selected setup actions were updated.
Rust base64 requirements
musefs-*/Cargo.toml
The base64 dependency requirement changed from 0.22 to 0.23.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to e3472

This dependency and CI configuration update has no actionable merge-blocking risk remaining and is merge-ready after normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The requested dependency upgrades are represented, but the /fuzz lockfile update cannot be verified because fuzz/Cargo.lock was excluded by the lockfile filter. Review fuzz/Cargo.lock or provide CI evidence that the /fuzz base64 dependency resolved to 0.23.1.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The Dependabot grouping updates, dependency pins, and stale comment removal all support the linked dependency-maintenance objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (14 skipped: 14 unsupported.)
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: batching outstanding dependency updates and grouping future Dependabot updates.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/dependabot-batch

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Sohex
Sohex merged commit f79986a into main Aug 20, 2026
38 checks passed
@Sohex
Sohex deleted the chore/dependabot-batch branch August 20, 2026 22:18
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