Skip to content

fix(ci): add libasound2-dev dependency for Linux release builds - #99

Merged
echobt merged 1 commit into
mainfrom
fix/release-libasound2-dep
Feb 4, 2026
Merged

fix(ci): add libasound2-dev dependency for Linux release builds#99
echobt merged 1 commit into
mainfrom
fix/release-libasound2-dep

Conversation

@echobt

Copy link
Copy Markdown
Contributor

Summary

The release workflow was missing the libasound2-dev system dependency required by the alsa-sys Rust crate, causing all Linux release builds to fail.

Changes

  • Added a new step to install libasound2-dev for all Linux builds in the release workflow
  • This affects all 4 Linux targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-musl
  • Removed duplicate apt-get update calls from musl toolchain installation steps (now only run once)

Root Cause

The CI workflow (ci.yml) had libasound2-dev in its Linux dependencies installation, but the release workflow (release.yml) did not. This caused the alsa-sys crate (used by audio functionality) to fail during compilation.

Testing

After merging, the release workflow should successfully build all Linux targets.

The alsa-sys crate requires ALSA development libraries to build on Linux.
The CI workflow had this dependency but it was missing from the release workflow,
causing all Linux builds to fail.
This adds libasound2-dev installation for all Linux build targets:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-gnu
- x86_64-unknown-linux-musl
- aarch64-unknown-linux-musl
@echobt
echobt merged commit 812f977 into mainFeb 4, 2026
6 checks passed
@greptile-apps

Copy link
Copy Markdown

Greptile Overview

Greptile Summary

Added the missing libasound2-dev system dependency to the release workflow, resolving build failures for all Linux targets.

  • Fixed Linux release builds by installing libasound2-dev required by the alsa-sys Rust crate
  • Optimized by consolidating apt-get update into a single call before the Linux dependencies step (removed duplicate calls from musl toolchain installation steps)
  • Affects all 4 Linux targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-musl
  • Aligns release workflow with CI workflow, which already had this dependency properly configured

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The change adds a critical missing dependency that was already proven in the CI workflow, with the additional benefit of removing duplicate apt-get update calls for better efficiency
  • No files require special attention

Important Files Changed

FilenameOverview
.github/workflows/release.ymlAdded libasound2-dev dependency installation for all Linux builds and removed duplicate apt-get update calls from musl toolchain steps

Sequence Diagram

sequenceDiagram
participant Workflow as Release Workflow
participant Linux as Linux Runner
participant Musl as Musl Toolchain
participant Cargo as Cargo Build
Note over Workflow,Cargo: Linux Build Process (All 4 Targets)
Workflow->>Linux: Check if runner.os == 'Linux'
activate Linux
Linux->>Linux: sudo apt-get update
Linux->>Linux: sudo apt-get install -y libasound2-dev
Note over Linux: Installs ALSA dev library<br/>(required by alsa-sys crate)
deactivate Linux
alt x86_64-unknown-linux-musl
Workflow->>Musl: Install musl toolchain (x86_64)
activate Musl
Musl->>Musl: sudo apt-get install -y musl-tools musl-dev
Note over Musl: No apt-get update<br/>(already done above)
Musl->>Musl: Verify musl-gcc
deactivate Musl
else aarch64-unknown-linux-musl
Workflow->>Musl: Install musl toolchain (aarch64)
activate Musl
Musl->>Musl: sudo apt-get install -y musl-tools musl-dev gcc-aarch64-linux-gnu
Note over Musl: No apt-get update<br/>(already done above)
Musl->>Musl: Download & install aarch64-linux-musl-gcc
deactivate Musl
end
Workflow->>Cargo: cargo +nightly build
activate Cargo
Cargo->>Cargo: Compile alsa-sys crate
Note over Cargo: Links against libasound2-dev<br/>(now available)
Cargo-->>Workflow: Build successful
deactivate Cargo
Loading

@greptile-appsgreptile-appsBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file reviewed, no comments

Edit Code Review Agent Settings | Greptile

Sign up for freeto 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.

1 participant

@echobt