name: "Check, Test and Lint Using Cargo" on: - push - pull_request - workflow_dispatch jobs: check: name: Check runs-on: debian-latest steps: - name: Checkout sources uses: actions/checkout@v3 - name: Install stable toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Use sparse Cargo index for crates.io run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml - name: Run cargo check uses: https://github.com/actions-rs/cargo@v1 with: command: check # TODO: Add a test suite first! # test: # name: Test Suite # runs-on: debian-latest # steps: # - name: Checkout sources # uses: actions/checkout@v3 # # - name: Install stable toolchain # uses: https://github.com/actions-rs/toolchain@v1 # with: # profile: minimal # toolchain: stable # override: true # # - name: Use sparse Cargo index for crates.io # run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml # # - name: Run cargo test # uses: https://github.com/actions-rs/cargo@v1 # with: # command: test # args: --all-features lints: name: Lints runs-on: debian-latest steps: - name: Checkout sources uses: actions/checkout@v3 - name: Install stable toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Use sparse Cargo index for crates.io run: echo -e '[registries.crates-io]\nprotocol = "sparse"' >> /root/.cargo/config.toml - name: Run cargo fmt uses: https://github.com/actions-rs/cargo@v1 with: command: fmt args: --all -- --check - name: Run cargo clippy uses: https://github.com/actions-rs/cargo@v1 with: command: clippy args: -- -D warnings