name: record-daemon on: push: branches: - main pull_request: branches: - main env: CARGO_TERM_COLOR: always RUST_BACKTRACE: 1 jobs: # Make sure that the program correctly builds, # passes format and lints, as well as tests build-test: name: Build, check and test runs-on: ubuntu-latest defaults: run: working-directory: record-daemon steps: - name: Checkout repository uses: actions/checkout@v6 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Check format run: cargo fmt --check - name: Install system build dependencies run: | sudo apt-get update sudo apt-get install -y pkg-config libglib2.0-dev libobs-dev libc6-dev clang libwayland-client0 libwayland-dev - name: Build run: cargo build env: RUSTFLAGS: -Dwarnings - name: Lint run: cargo clippy --all-targets --all-features - name: Run tests with verbose logging (timeout 30min) run: timeout 30m cargo test -- --nocapture env: RUST_LOG: debug # TODO: Add windows native builds