
Let's skip the check if we're running on a fork just in case someone opens a PR against a branch on said fork as part of a PR review upstream.
43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
name: Lint
|
|
|
|
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
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- 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 latest Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "*"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install -e '.[d]'
|
|
python -m pip install tox
|
|
|
|
- name: Run pre-commit hooks
|
|
uses: pre-commit/action@v3.0.0
|
|
|
|
- name: Format ourselves
|
|
run: |
|
|
tox -e run_self
|