| name: Clippy Dev Test |
| |
| on: |
| push: |
| branches: |
| - auto |
| - try |
| pull_request: |
| # Only run on paths, that get checked by the clippy_dev tool |
| paths: |
| - 'CHANGELOG.md' |
| - 'README.md' |
| - '**.stderr' |
| - '**.rs' |
| |
| env: |
| RUST_BACKTRACE: 1 |
| CARGO_INCREMENTAL: 0 |
| CARGO_UNSTABLE_SPARSE_REGISTRY: true |
| |
| jobs: |
| clippy_dev: |
| runs-on: ubuntu-latest |
| |
| steps: |
| # Setup |
| - name: Checkout |
| uses: actions/checkout@v3.0.2 |
| |
| # Run |
| - name: Build |
| run: cargo build --features deny-warnings |
| working-directory: clippy_dev |
| |
| - name: Test update_lints |
| run: cargo dev update_lints --check |
| |
| - name: Test fmt |
| run: cargo dev fmt --check |
| |
| - name: Test cargo dev new lint |
| run: | |
| cargo dev new_lint --name new_early_pass --pass early |
| cargo dev new_lint --name new_late_pass --pass late |
| cargo check |
| git reset --hard HEAD |
| |
| # These jobs doesn't actually test anything, but they're only used to tell |
| # bors the build completed, as there is no practical way to detect when a |
| # workflow is successful listening to webhooks only. |
| # |
| # ALL THE PREVIOUS JOBS NEED TO BE ADDED TO THE `needs` SECTION OF THIS JOB! |
| |
| end-success: |
| name: bors dev test finished |
| if: github.event.pusher.name == 'bors' && success() |
| runs-on: ubuntu-latest |
| needs: [clippy_dev] |
| |
| steps: |
| - name: Mark the job as successful |
| run: exit 0 |
| |
| end-failure: |
| name: bors dev test finished |
| if: github.event.pusher.name == 'bors' && (failure() || cancelled()) |
| runs-on: ubuntu-latest |
| needs: [clippy_dev] |
| |
| steps: |
| - name: Mark the job as a failure |
| run: exit 1 |