name: lint on: pull_request: types: [opened, synchronize, reopened] jobs: fmt: name: rustfmt check runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: rustfmt override: true - name: rustfmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: clippy check runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: cache cargo artifacts uses: actions/cache@v2 with: path: | ~/.cargo/registry ~/.cargo/git ./target/debug key: cargo-clippy-${{ matrix.version }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-clippy-${{ matrix.version }}- - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable components: clippy override: true # - name: Create test DBs # run: | # sudo apt-get update && sudo apt-get install sqlite3 # cargo install sqlx-cli --no-default-features --features=rustls,sqlite # cd basics/todo # DATABASE_URL="sqlite://./todo.db" sqlx database create # chmod a+rwx todo.db # DATABASE_URL="sqlite://./todo.db" sqlx migrate run - name: clippy uses: actions-rs/clippy-check@v1 timeout-minutes: 30 with: token: ${{ secrets.GITHUB_TOKEN }} args: --workspace --all-features --tests