go mod tidy in Docker build causes disk space issues on CI runners
(compiling modernc.org/ccgo pulls many C files). go.mod/go.sum are
committed to repo, so go mod download + go build is sufficient.
Upgrade to v0.0.0-20261018055743-0456ca0665a6 which fixes the
page=0 validation bug in GetArtistTracks/GetArtistAlbums.
The library now returns *ArtistTracks/*ArtistAlbums wrappers
instead of raw slices, so the YandexClient wrapper extracts
the inner slices for backward compatibility.
Reverted page numbering back to 0 in monitor since the API
bug is fixed server-side/library-side.
Start page numbering at 1 instead of 0 in checkArtistTracks and
checkArtistAlbums. Yandex Music API rejects page=0 with
400 'Parameters requirements are not met'.
GetArtistInfo works because it doesn't use pagination.
Replace github.com/mattn/go-sqlite3 (CGO required) with
modernc.org/sqlite (pure Go, works with CGO_ENABLED=0).
Binary built with CGO_ENABLED=0 in Dockerfile can now load
SQLite storage without cgo errors.
Upgrade builder image from golang:1.24-alpine to golang:1.27-alpine
to match go.mod requirement (go 1.27.2). Go 1.24 cannot process
go.mod with go >= 1.27.2 even with GOTOOLCHAIN=local.
Add .gitea/workflows/ci.yml with test → build → docker pipeline.
Docker images pushed to gitea.mrixs.me/mrixs/ym-dl on master and v* tags.
Requires PACKAGES_TOKEN repo secret (read:package, write:package).
Migrate ym-dl from custom oapi-codegen Yandex Music API client to external
gitea.mrixs.me/Mrixs/yandex-music-api-go library with token-only authentication.
Key changes:
- Replace custom Yandex API client with yandexmusic library wrapper
- Token-based OAuth authentication only (no username/password fallback)
- SQLite storage index with JSON index migration path
- Extended ID3 tag support: genre, comment, lyrics, publisher, ISRC, copyright
- High-resolution album covers (1000x1000)
- Fixed album download check (requires all tracks, not just one)