name: Set up build environment
description: >
System packages for the crate's native dependencies (Linux only) plus the
Rust build cache. Shared by every workflow that compiles the crate, so the
dependency list lives in one place.
inputs:
cache-workspaces:
description: Workspaces passed through to rust-cache (one `path -> target` per line).
required: false
default: "."
install-avahi:
description: Install the Avahi daemon and client headers needed by the zeroconf feature.
required: false
default: "false"
runs:
using: composite
steps:
- name: Install Avahi build dependencies
if: runner.os == 'Linux' && inputs.install-avahi == 'true'
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y clang libclang-dev libavahi-client-dev
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 with:
workspaces: ${{ inputs.cache-workspaces }}