name: Release - Linux on: push: branches: [ main, master ] jobs: build-linux: name: Build and upload release artifact (Linux) runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Cache cargo registry and git index uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y \ build-essential \ pkg-config \ libwayland-dev \ libx11-dev \ libxkbcommon-dev \ libasound2-dev \ libdbus-1-dev \ libudev-dev - name: Build (release) run: cargo build --workspace --release - name: Upload release artifact (Linux) uses: actions/upload-artifact@v4 with: name: release-linux path: target/release