name: CI on: push: branches: [master] pull_request: branches: [master] jobs: build: name: Build & Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@1.67 - run: cargo build --all-features env: RUSTFLAGS: -D warnings - name: Run tests run: | cargo test --all --all-features # Workaround for client document tests dependent on the remote # helper. Tests which rely on these should be marked #[ignore] and # whitelisted here. # # Marking them as 'ignored' will allow local testing to work as # expected, yet allow these document tests to be covered during # integration testing. cargo install --locked --debug --path ./radicle-remote-helper cargo test --all --all-features rad_patch -- --ignored cargo test --all --all-features rad_workflow -- --ignored docs: name: Docs runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@1.67 - run: cargo doc --all --all-features env: RUSTDOCFLAGS: -D warnings lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: | ~/.cargo/registry ~/.cargo/git ~/.rustup/toolchains target key: ci-lint-${{ hashFiles('**/Cargo.lock') }} - run: rustup component add clippy rustfmt - run: cargo clippy --all --tests env: RUSTFLAGS: -D warnings - run: cargo fmt --all -- --check