name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 - name: Install ubuntu dependcies run: | sudo apt update sudo apt install -y librust-gdk4-sys-dev \ libglib2.0-dev libgtk-layer-shell-dev libgtk-layer-shell0 gir1.2-gtklayershell-0.1 \ libgtk-4-dev gobject-introspection libgirepository1.0-dev gtk-doc-tools python3 valac \ git cmake gcc meson ninja-build - name: Install gt4k layer shell run: | git clone https://github.com/wmww/gtk4-layer-shell cd gtk4-layer-shell meson setup -Dexamples=true -Ddocs=true -Dtests=true build ninja -C build sudo ninja -C build install sudo ldconfig - name: Formatting run: cargo fmt --all -- --check - name: Clippy warnings run: cargo clippy -- -D warnings - name: Build run: cargo build --verbose - name: Run tests run: cargo test -- --show-output