# Objective When working on PRs, I'll often find that one of the early CI checks fails, and work on fixing the result, but when I push the earlier commits are still being processed by the CI. This would mean that if a new commit is pushed while another CI process is already running on that branch, the first set of jobs will be cancelled - reducing wasted resources and wait time for CI on the latest commits. ## Solution The solution is simply adding Github's concurrency groups to every relevant workflow.
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Dependencies
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    paths:
 | 
						|
      - '**/Cargo.toml'
 | 
						|
      - 'deny.toml'
 | 
						|
  push:
 | 
						|
    paths:
 | 
						|
      - '**/Cargo.toml'
 | 
						|
      - 'deny.toml'
 | 
						|
    branches:
 | 
						|
      - main
 | 
						|
 | 
						|
concurrency:
 | 
						|
  group: ${{github.workflow}}-${{github.ref}}
 | 
						|
  cancel-in-progress: ${{github.event_name == 'pull_request'}}
 | 
						|
 | 
						|
env:
 | 
						|
  CARGO_TERM_COLOR: always
 | 
						|
 | 
						|
jobs:
 | 
						|
  check-advisories:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - uses: dtolnay/rust-toolchain@stable
 | 
						|
      - name: Install cargo-deny
 | 
						|
        run: cargo install cargo-deny
 | 
						|
      - name: Check for security advisories and unmaintained crates
 | 
						|
        run: cargo deny check advisories
 | 
						|
 | 
						|
  check-bans:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - uses: dtolnay/rust-toolchain@stable
 | 
						|
      - name: Install cargo-deny
 | 
						|
        run: cargo install cargo-deny
 | 
						|
      - name: Check for banned and duplicated dependencies
 | 
						|
        run: cargo deny check bans
 | 
						|
 | 
						|
  check-licenses:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - uses: dtolnay/rust-toolchain@stable
 | 
						|
      - name: Install cargo-deny
 | 
						|
        run: cargo install cargo-deny
 | 
						|
      - name: Check for unauthorized licenses
 | 
						|
        run: cargo deny check licenses
 | 
						|
 | 
						|
  check-sources:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - uses: dtolnay/rust-toolchain@stable
 | 
						|
      - name: Install cargo-deny
 | 
						|
        run: cargo install cargo-deny
 | 
						|
      - name: Checked for unauthorized crate sources
 | 
						|
        run: cargo deny check sources
 |