Release v2026.05.18.0 — integration-tests-in-CI + recommendations/cover-art/discover batch #51

Merged
bvandeusen merged 262 commits from dev into main 2026-05-17 22:41:20 -04:00
bvandeusen commented 2026-05-17 22:41:03 -04:00 (Migrated from git.fabledsword.com)

11 commits since v2026.05.16.0. CI fully green including the new integration suite.

Headline: integration tests now run in CI

test-go.yml previously ran only go test -short (no DB) — the entire integration suite silently skipped. This batch wires an integration job (act_runner shared-daemon pattern: Postgres service with no published ports, bridge-IP discovery via the docker socket + hard exactly-one guard, minstrel migrate, go test -p 1 -race ./...). It surfaced and we cleared ~200 latent failures (TRUNCATE deadlocks, stale fixtures/stubs, a fixed-allowlist art-source CHECK, a newTestEnricher registry-wipe, the no-MBID enricher contract). "CI green" is now meaningful and a durable safety net.

Features / fixes

  • #321 minstrel admin reset-password + minstrel migrate subcommands.
  • #339 local test-DB isolation (make test-integration, minstrel_test) + the CI integration job above.
  • #388 removed the global cover-art backfill cap (per-provider rate-limited).
  • Discover suggestions: on-demand Lidarr artist art server-side; Flutter Discover screen now renders the LB suggestion feed (web parity, closed an #356 gap).
  • A2 / migration 0030: relaxed the art-source CHECK from a fixed provider-ID allowlist to non-empty (same brittleness class as #433; matches the pluggable provider registry).
  • Coverart/test-harness correctness: ResetDB cover-art version reset, newTestEnricher no longer wipes caller-registered stubs, stale AlbumCoverProvider signature, no-MBID → settle-'none' contract aligned (operator-decided).

Migrations

0028 (discovery-mix CHECK, shipped v2026.05.15.1), 0029 (tracks.mbid non-unique), 0030 (art-source CHECK relax). Apply on startup.

Test plan

  • Full CI green (fast + integration jobs)
  • Recommendations / LB pipeline / scrobbling device-verified during dev
  • Post-deploy: exercise the offline two-bucket cache incl. eviction (#429, deletes files) and the Flutter Discover suggestions feed on the deployed build

🤖 Generated with Claude Code

11 commits since v2026.05.16.0. CI fully green including the new integration suite. ## Headline: integration tests now run in CI `test-go.yml` previously ran only `go test -short` (no DB) — the entire integration suite silently skipped. This batch wires an `integration` job (act_runner shared-daemon pattern: Postgres service with no published ports, bridge-IP discovery via the docker socket + hard exactly-one guard, `minstrel migrate`, `go test -p 1 -race ./...`). It surfaced and we cleared ~200 latent failures (TRUNCATE deadlocks, stale fixtures/stubs, a fixed-allowlist art-source CHECK, a `newTestEnricher` registry-wipe, the no-MBID enricher contract). "CI green" is now meaningful and a durable safety net. ## Features / fixes - **#321** `minstrel admin reset-password` + `minstrel migrate` subcommands. - **#339** local test-DB isolation (`make test-integration`, `minstrel_test`) + the CI integration job above. - **#388** removed the global cover-art backfill cap (per-provider rate-limited). - **Discover suggestions:** on-demand Lidarr artist art server-side; Flutter Discover screen now renders the LB suggestion feed (web parity, closed an #356 gap). - **A2 / migration 0030:** relaxed the art-source CHECK from a fixed provider-ID allowlist to non-empty (same brittleness class as #433; matches the pluggable provider registry). - Coverart/test-harness correctness: ResetDB cover-art version reset, `newTestEnricher` no longer wipes caller-registered stubs, stale `AlbumCoverProvider` signature, no-MBID → settle-`'none'` contract aligned (operator-decided). ## Migrations `0028` (discovery-mix CHECK, shipped v2026.05.15.1), `0029` (tracks.mbid non-unique), `0030` (art-source CHECK relax). Apply on startup. ## Test plan - [x] Full CI green (fast + integration jobs) - [x] Recommendations / LB pipeline / scrobbling device-verified during dev - [ ] Post-deploy: exercise the offline two-bucket cache incl. eviction (#429, deletes files) and the Flutter Discover suggestions feed on the deployed build 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/minstrel#51