mirror of https://github.com/fafhrd91/actix-web
				
				
				
			
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
| name: Lint
 | |
| 
 | |
| on:
 | |
|   pull_request:
 | |
|     types: [opened, synchronize, reopened]
 | |
| 
 | |
| permissions:
 | |
|   contents: read
 | |
| 
 | |
| concurrency:
 | |
|   group: ${{ github.workflow }}-${{ github.ref }}
 | |
|   cancel-in-progress: true
 | |
| 
 | |
| jobs:
 | |
|   fmt:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | |
| 
 | |
|       - name: Install Rust (nightly)
 | |
|         uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | |
|         with:
 | |
|           toolchain: nightly
 | |
|           components: rustfmt
 | |
| 
 | |
|       - name: Check with Rustfmt
 | |
|         run: cargo fmt --all -- --check
 | |
| 
 | |
|   clippy:
 | |
|     permissions:
 | |
|       contents: read
 | |
|       checks: write # to add clippy checks to PR diffs
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | |
| 
 | |
|       - name: Install Rust
 | |
|         uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | |
|         with:
 | |
|           components: clippy
 | |
| 
 | |
|       - name: Check with Clippy
 | |
|         uses: giraffate/clippy-action@13b9d32482f25d29ead141b79e7e04e7900281e0 # v1.0.1
 | |
|         with:
 | |
|           reporter: github-pr-check
 | |
|           github_token: ${{ secrets.GITHUB_TOKEN }}
 | |
|           clippy_flags: >-
 | |
|             --workspace --all-features --tests --examples --bins --
 | |
|             -A unknown_lints -D clippy::todo -D clippy::dbg_macro            
 | |
| 
 | |
|   lint-docs:
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | |
| 
 | |
|       - name: Install Rust (nightly)
 | |
|         uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | |
|         with:
 | |
|           toolchain: nightly
 | |
|           components: rust-docs
 | |
| 
 | |
|       - name: Check for broken intra-doc links
 | |
|         env:
 | |
|           RUSTDOCFLAGS: -D warnings
 | |
|         run: cargo +nightly doc --no-deps --workspace --all-features
 | |
| 
 | |
|   check-external-types:
 | |
|     if: false # rustdoc mismatch currently
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | |
| 
 | |
|       - name: Install Rust (${{ vars.RUST_VERSION_EXTERNAL_TYPES }})
 | |
|         uses: actions-rust-lang/setup-rust-toolchain@1780873c7b576612439a134613cc4cc74ce5538c # v1.15.2
 | |
|         with:
 | |
|           toolchain: ${{ vars.RUST_VERSION_EXTERNAL_TYPES }}
 | |
| 
 | |
|       - name: Install just
 | |
|         uses: taiki-e/install-action@e43a5023a747770bfcb71ae048541a681714b951 # v2.62.33
 | |
|         with:
 | |
|           tool: just
 | |
| 
 | |
|       - name: Install cargo-check-external-types
 | |
|         uses: taiki-e/cache-cargo-install-action@7447f04c51f2ba27ca35e7f1e28fab848c5b3ba7 # v2.3.1
 | |
|         with:
 | |
|           tool: cargo-check-external-types
 | |
| 
 | |
|       - name: check external types
 | |
|         run: just check-external-types-all +${{ vars.RUST_VERSION_EXTERNAL_TYPES }}
 |