X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/2955bdc6767d942cd489c73bd3bf600303d524c5..e9356c1ff0083aea4416bf1d3e29748634bb4f7f:/.github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fa7286e..3eaf578 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -4,24 +4,39 @@ on: [push, pull_request] jobs: build: + # We want to run on external PRs, but not on our own internal PRs as they'll be run + # by the push to the branch. Without this if check, checks are duplicated since + # internal PRs match both the push and pull_request events. + if: + github.event_name == 'push' || github.event.pull_request.head.repo.full_name != + github.repository + runs-on: ubuntu-latest - strategy: - matrix: - python-version: [3.7] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + + - name: Assert PR target is main + if: github.event_name == 'pull_request' && github.repository == 'psf/black' + run: | + if [ "$GITHUB_BASE_REF" != "main" ]; then + echo "::error::PR targeting '$GITHUB_BASE_REF', please refile targeting 'main'." && exit 1 + fi - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + - name: Set up latest Python + uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-version }} + python-version: "*" - name: Install dependencies run: | python -m pip install --upgrade pip - python -m pip install --upgrade pre-commit python -m pip install -e '.[d]' + python -m pip install tox - - name: Lint - run: pre-commit run --all-files --show-diff-on-failure + - name: Run pre-commit hooks + uses: pre-commit/action@v3.0.0 + + - name: Format ourselves + run: | + tox -e run_self