#!/usr/bin/env bash 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@59509d48de6da6aaa4e3a2f5e338769bc471f2d7" \ mypy_primer \ --repo ruff \ --type-checker ty \ --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