name: ci on: [push, pull_request] jobs: fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: rustfmt - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/fmt shell: bash lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: clippy - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/lint shell: bash docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/docs shell: bash cargo-deny: runs-on: ubuntu-latest strategy: matrix: checks: - advisories - bans licenses sources continue-on-error: ${{ matrix.checks == 'advisories' }} steps: - uses: actions/checkout@v2 - uses: EmbarkStudios/cargo-deny-action@v1 with: command: check ${{ matrix.checks }} linux: runs-on: ubuntu-latest strategy: matrix: toolchain: - stable - nightly continue-on-error: ${{ matrix.toolchain == 'nightly' }} steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.toolchain }} - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/build-test shell: bash macos: runs-on: macos-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/build-test shell: bash windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/build-test shell: bash