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@c5b1b6f479c32f356cc6f4ba672a47f63853b13b # v2.62.38
 | 
						|
        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 }}
 |