Skip to content

Comprehensive CI suite #350

@LucasFA

Description

@LucasFA

Well, we just had #349, an issue about breaking with rust versions up to and including 1.73. That was a case from the bump in MSVR in souvlaki: Sinono3/souvlaki#46, breaking pulseaudio. Let's test this doesn't happen.

There's quite a few features, so we can't check each combination, but we could at least check each backend and feature once and use more sparse testing with the rest of the feature space. Another with as many features as possible, too.

There's also some interaction between target features and target OS, at least around the daemon code, so there's even more combinations.

I'm going to list all possible features (if I miss any please warn)

Audio backends

  • Rodio (default)
  • rodiojack (rodio with a jackaudio feature in librespot I think)
  • jackaudio
  • alsa
  • pulseaudio
  • portaudio
  • sdl
  • gstreamer

Each requires their own dependencies to compile.

Features

  • Streaming (enabled by default, requires Audio backend)
  • Lyrics (disabled)
  • Clipboard (enabled)
  • Media control (enabled by default, A:)
  • Image (disabled)
  • Sixel (disabled, implies Image)
  • Daemon (disabled, requires B)

A: Media control is compiled in by default but only actually active on Linux by default because of what seems described as a bug or something.
B: requires: 1. not(Windows) (README), 2. streaming (code), 3. not((W || macOS) && media-control) (code, C), 4.
C: I don't know if what I found was intended. As written it's that way, I think. Lines 285 of spotify-player/main.rs. Also, I think some of these can be turned into compile time errors.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions