name: 🚨 pre-commit on: pull_request: push: branches: - "long_lived/**" - main - "release/**" concurrency: group: ${{ github.event_name == 'pull_request' && format('{0}-{1}', github.workflow_ref, github.event.pull_request.number) || github.run_id }} cancel-in-progress: true jobs: pre-commit: name: ${{ matrix.os.name }} ${{ matrix.arch.name }} ${{ matrix.python.major_dot_minor }} runs-on: ${{ matrix.os.runs-on[matrix.arch.matrix] }} timeout-minutes: 20 strategy: fail-fast: false matrix: os: - name: Linux matrix: linux runs-on: intel: ubuntu-latest arm: ubuntu-24.04-arm - name: macOS matrix: macos runs-on: intel: ${{ github.repository_owner == 'Chia-Network' && 'macos-13-intel' || 'macos-13' }} arm: macos-latest - name: Windows matrix: windows runs-on: intel: windows-latest arch: - name: ARM64 matrix: arm - name: Intel matrix: intel python: - major_dot_minor: "3.10" - major_dot_minor: "3.11" - major_dot_minor: "3.12" exclude: - os: matrix: windows arch: matrix: arm # Back to self hosted mac intel runners, which we have very few of - os: matrix: macos arch: matrix: intel steps: - name: Clean workspace uses: Chia-Network/actions/clean-workspace@main - uses: Chia-Network/actions/git-mark-workspace-safe@main - name: disable git autocrlf run: | git config --global core.autocrlf false - uses: actions/checkout@v5 - uses: Chia-Network/actions/setup-python@main with: python-version: ${{ matrix.python.major_dot_minor }} - uses: ./.github/actions/install with: python-version: ${{ matrix.python.major_dot_minor }} development: true - uses: chia-network/actions/activate-venv@main - env: CHIA_MANAGE_CLVM_CHECK_USE_CACHE: "false" CHIA_MANAGE_MYPY_CHECK_EXCLUSIONS: "true" run: pre-commit run --all-files --verbose