Skip to content

Conversation

@SapiensAnatis
Copy link
Contributor

Fix a build failure with passthrough-decoder enabled which resulted from the change in signature of SymphoniaDecoder::new. We need to update the code path where the feature is enabled but the passthrough decoder is disabled via runtime config, to use the new signature.

Fix a build failure with passthrough-decoder enabled which resulted from
the change in signature of SymphoniaDecoder::new. We need to update the
code path where the feature is enabled but the passthrough decoder is
disabled via runtime config, to use the new signature.
@SapiensAnatis SapiensAnatis marked this pull request as ready for review November 9, 2025 18:39
@roderickvd roderickvd merged commit 56dc25d into librespot-org:dev Nov 9, 2025
12 checks passed
@roderickvd
Copy link
Member

Thanks. Now that I think of it, this could use a test in the CI to prevent regression.

@photovoltex
Copy link
Member

We should really add something in the CI that checks if all features can be compiled. But probably in another PR.

Funnily I had prepared the same message. But yeah we had the same with the avahi feature before so we should see to improve this in the future.

@SapiensAnatis
Copy link
Contributor Author

I assumed you would do this via a matrix in GitHub actions but it looks like cargo hack, which we already use for the protocol package, may be a better option?

- name: Build binary with default features
run: cargo build --frozen

so would we just do

      - name: Build binary with default features
-       run: cargo build --frozen
+       run: cargo hack build --frozen --each-feature --no-dev-deps

as per https://github.com/taiki-e/cargo-hack?tab=readme-ov-file#--each-feature ?

@photovoltex
Copy link
Member

A matrix would probably be the easiest option, but for that the compilation might take a lot longer because of all artefacts that have to be rebuilt again, because each matrix execution being on a separate node. Wouldn't make much difference if it's just executed in parallel and probably even be better to get all issues in one action run.

The options cargo hack looks interesting, but might be overkill for just some other feature builds that should be added. --each-feature is no option, as no-default-feature and all features will result in compilation issues, as some features are always required and others will conflict with each other. The grouping might be the solution there.

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.

3 participants