name: CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest container: image: ubuntu:24.04 options: --privileged --cap-add SYS_ADMIN --security-opt apparmor:unconfined steps: - name: Set up container image run: | apt-get update apt-get install -y nodejs sudo curl wget ca-certificates build-essential - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt - name: Check format run: cargo fmt --check - name: Install build dependencies run: | sudo apt-get update sudo apt-get install -y pkg-config libssl-dev - name: Build run: cargo build - name: Install runtime system dependencies run: | sudo apt-get update sudo apt-get install -y git pristine-tar sbuild mmdebstrap util-linux dpkg-dev - name: Setup subuid/subgid run: | usermod --add-subuids 100000-200000 --add-subgids 100000-200000 ${USER:-root} - name: Run tests with verbose logging (timeout 30min) env: RUST_LOG: debug run: timeout 30m cargo test -- --nocapture