name: CI on: push: branches: - '**' jobs: test: runs-on: ubuntu-22.04 services: # Needed for tests to pass qbittorrent: image: linuxserver/qbittorrent:4.4.3 ports: - 8080:8080 steps: - uses: actions/checkout@v3 - uses: actions/cache@v2 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-test-${{ hashFiles('Cargo.lock') }} - name: Install latest stable uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal override: true - name: Run tests uses: actions-rs/cargo@v1 with: command: test args: --workspace fmt: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install latest stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt override: true - name: Run cargo fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/cache@v2 with: path: ~/.cargo/registry key: ${{ runner.os }}-cargo-clippy-${{ hashFiles('Cargo.lock') }} - name: Install latest stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: clippy override: true - name: Run cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings