Skip to content

Linux support

Linux support #10

Workflow file for this run

name: CI
on:
push:
pull_request:
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
fmt:
name: 'Format (rustfmt)'
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Rust (stable + rustfmt)
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo fmt --check
run: cargo fmt --all --check
test:
name: 'Test / Clippy (${{ matrix.rust }}, ${{ matrix.os }})'
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
rust:
- stable
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libglib2.0-dev pkg-config libgtk-3-dev libxdo-dev libappindicator3-dev
- name: Install Rust (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Rust cache
uses: Swatinem/rust-cache@v2
- name: cargo clippy
run: cargo clippy --all-targets
- name: cargo test
run: cargo test --all-targets