mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-10-31 12:05:57 +00:00 
			
		
		
		
	 270ba71ad5
			
		
	
	
		270ba71ad5
		
			
		
	
	
	
	
		
			
			## Summary I considered making a dedicated cargo profile for these, but the `profiling` profile basically made all the modifications to `release` that I would have also made. ## Test Plan CI on this PR
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| set -eu
 | |
| 
 | |
| echo "Enabling mypy primer specific configuration overloads (see .github/mypy-primer-ty.toml)"
 | |
| mkdir -p ~/.config/ty
 | |
| cp .github/mypy-primer-ty.toml ~/.config/ty/ty.toml
 | |
| 
 | |
| PRIMER_SELECTOR="$(paste -s -d'|' "${PRIMER_SELECTOR}")"
 | |
| 
 | |
| echo "new commit"
 | |
| git rev-list --format=%s --max-count=1 "${GITHUB_SHA}"
 | |
| 
 | |
| MERGE_BASE="$(git merge-base "${GITHUB_SHA}" "origin/${GITHUB_BASE_REF}")"
 | |
| git checkout -b base_commit "${MERGE_BASE}"
 | |
| echo "base commit"
 | |
| git rev-list --format=%s --max-count=1 base_commit
 | |
| 
 | |
| cd ..
 | |
| 
 | |
| echo "Project selector: ${PRIMER_SELECTOR}"
 | |
| # Allow the exit code to be 0 or 1, only fail for actual mypy_primer crashes/bugs
 | |
| uvx \
 | |
|   --from="git+https://github.com/hauntsaninja/mypy_primer@ab5d30e2d4ecdaf7d6cc89395c7130143d6d3c82" \
 | |
|   mypy_primer \
 | |
|   --repo ruff \
 | |
|   --type-checker ty \
 | |
|   --cargo-profile profiling \
 | |
|   --old base_commit \
 | |
|   --new "${GITHUB_SHA}" \
 | |
|   --project-selector "/($PRIMER_SELECTOR)\$" \
 | |
|   --output concise \
 | |
|   --debug > "${DIFF_FILE}" || [ $? -eq 1 ]
 | |
| 
 | |
| # Output diff with ANSI color codes
 | |
| cat "${DIFF_FILE}"
 | |
| 
 | |
| # Remove ANSI color codes before uploading
 | |
| sed -ie 's/\x1b\[[0-9;]*m//g' "${DIFF_FILE}"
 |