name: Rust on: push: branches: ["main"] paths: - '**/*.rs' - 'src/**' - 'Cargo.toml' - 'Cargo.lock' pull_request: paths: - '**/*.rs' - 'src/**' - 'Cargo.toml' - 'Cargo.lock' workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt update sudo apt install -y build-essential sudo apt-get install -y \ libpango1.0-dev \ libcairo2-dev \ libatk1.0-dev \ libgtk-4-dev \ libsoup2.4-dev - name: Set up dependencies run: | export SYSTEM_DEPS_PANGO_NO_PKG_CONFIG="true" export SYSTEM_DEPS_PANGO_LIB="pango-1.0" - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Build run: | cargo build --verbose cargo build --release --verbose check: runs-on: ubuntu-latest needs: build steps: - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt update sudo apt install -y build-essential sudo apt-get install -y \ libpango1.0-dev \ libcairo2-dev \ libatk1.0-dev \ libgtk-4-dev \ libsoup2.4-dev - name: Set up dependencies run: | export SYSTEM_DEPS_PANGO_NO_PKG_CONFIG="true" export SYSTEM_DEPS_PANGO_LIB="pango-1.0" - name: Run cargo clippy run: | cargo clippy -- -Dwarnings cargo clippy --release -- -Dwarnings - name: Run cargo fmt run: cargo fmt --all --check