
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
name: Lint + format ourselves
|
|
|
|
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@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 latest Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "*"
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install -e '.'
|
|
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
|
|
|
|
- name: Regenerate schema
|
|
run: |
|
|
tox -e generate_schema
|
|
git diff --exit-code
|