Skip to content

Fix CI: clippy 1.98 lints, Android SDK setup, racy pre-buffer test - #2

Merged
ingoau merged 3 commits into
mainfrom
claude/happy-cori-3kiycm
Sep 24, 2026
Merged

ingoau merged 3 commits into
mainfrom
claude/happy-cori-3kiycm

Conversation

@ingoau

@ingoau ingoau commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Gets CI green again on main. Rust core and Android were both red; Desktop was already green.

Rust core: clippy (Rust 1.98)

  • DSP modules (biquad, loudness, normalise): manual zeroing loops → .fill(..) (manual_slice_fill).
  • connect/engine.rs: self.inbound.drain(..).collect() → std::mem::take(&mut self.inbound) (drain_collect).
  • core/queries.rs: descending sort_by → sort_by_key(|t| Reverse(t.play_count)) (unnecessary_sort_by).

All behaviour-preserving.

Rust core: flaky test
pre_buffer_is_reused_by_a_matching_load failed on a busy runner. The 1 s pre-buffer load could finish before the test even sent the discard, and reporting it at that point is correct. The test now only counts reports after the engine has handled the discard. The barrier is a seek's synchronous Position report. It passed 30/30 runs with the CPU saturated, and it still fails if discard stops dropping the late load.

Android: CI setup

  • setup-android@v3 asked for the legacy tools package by default, and the SDK repository no longer serves it. Now packages: platform-tools.
  • platforms;android-37 doesn't exist. SDK 37 platforms carry a minor version, and the modules use compileSdk 37 / compileSdkMinor 1, so it's now platforms;android-37.1.

CI is green on the head commit: Rust core, Desktop and Android (Gradle unit tests, assemble and lint).

🤖 Generated with Claude Code

https://claude.ai/code/session_01F2aJfyqNAu3fSdazYDjPQ3

Rust 1.98's clippy flags manual slice fills, drain-collect and a sort_by
that sort_by_key covers. setup-android@v3 installs the legacy `tools`
package by default, which sdkmanager can no longer find.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2aJfyqNAu3fSdazYDjPQ3
sdkmanager has no `platforms;android-37`; SDK 37 platforms carry a minor
version, and the modules set compileSdk 37 with compileSdkMinor 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2aJfyqNAu3fSdazYDjPQ3
pre_buffer_is_reused_by_a_matching_load failed on a busy CI runner: the
1 s pre-buffer load can finish before the test even sends the discard,
and reporting it then is correct. Only reports after the engine has
handled the discard now count, marked by a seek's synchronous Position
report. The check still fails if discard stops dropping the late load.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2aJfyqNAu3fSdazYDjPQ3
@ingoau ingoau changed the title Refactor: Use idiomatic Rust patterns for array/vec operations Fix CI: clippy 1.98 lints, Android SDK setup, racy pre-buffer test Sep 24, 2026
@ingoau
ingoau merged commit e0a7bf7 into main Sep 24, 2026
4 checks passed
@ingoau
ingoau deleted the claude/happy-cori-3kiycm branch September 24, 2026 14:10
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.

2 participants