Spotifyd master #640
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
on: | |
pull_request: | |
paths: | |
- '**.rs' | |
- 'Cargo.toml' | |
- 'Cargo.lock' | |
jobs: | |
codestyle: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Installing Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Checking out sources | |
uses: actions/checkout@v1 | |
- name: Installing rustfmt | |
run: rustup component add rustfmt | |
- name: Running rustfmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
lint: | |
needs: [codestyle] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Installing Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- name: Installing needed Ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y -qq libasound2-dev libssl-dev libpulse-dev libdbus-1-dev portaudio19-dev | |
- name: Checking out sources | |
uses: actions/checkout@v1 | |
- name: Installing clippy | |
run: rustup component add clippy | |
- name: Linting project | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all-targets --all-features -- -D warnings | |
check: | |
needs: [lint] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
rust: [stable, 1.67] | |
os: [macos-latest, ubuntu-latest] | |
include: | |
- os: macos-latest | |
features: portaudio_backend,rodio_backend,dbus_keyring | |
- os: ubuntu-latest | |
features: alsa_backend,rodio_backend,dbus_keyring,dbus_mpris | |
steps: | |
- name: Installing Rust toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{ matrix.rust }} | |
override: true | |
- name: Installing macOS dependencies | |
if: matrix.os == 'macos-latest' | |
run: brew install pkg-config portaudio | |
- name: Installing needed Ubuntu dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y -qq libasound2-dev libssl-dev libpulse-dev libdbus-1-dev | |
- name: Checking out sources | |
uses: actions/checkout@v1 | |
- name: Checking Rust code | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --locked --no-default-features --features ${{ matrix.features }} |