black-primer: stop running it (#2809)

At the moment, it's just a source of spurious CI failures and busywork
updating the configuration file.

Unlike diff-shades, it is run across many different platforms and
Python versions, but that doesn't seem essential. We already run unit
tests across platforms and versions.

I chose to leave the code around for now in case somebody is using it,
but CI will no longer run it.
This commit is contained in:
Jelle Zijlstra 2022-01-26 17:18:43 -08:00 committed by GitHub
parent 889a8d5dd2
commit b517dfb396
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 10 additions and 107 deletions

View File

@ -1,47 +0,0 @@
name: Primer
on:
push:
paths-ignore:
- "docs/**"
- "*.md"
pull_request:
paths-ignore:
- "docs/**"
- "*.md"
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: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e ".[d,jupyter]"
- name: Primer run
env:
pythonioencoding: utf-8
run: |
black-primer

View File

@ -40,6 +40,6 @@ jobs:
run: |
python -m pip install -e ".[uvloop]"
- name: Primer uvloop run
- name: Format ourselves
run: |
black-primer
python -m black --check src/

View File

@ -42,6 +42,7 @@
- Make passing `SRC` or `--code` mandatory and mutually exclusive (#2804)
- Work around bug that causes unstable formatting in some cases in the presence of the
magic trailing comma (#2807)
- Deprecate the `black-primer` tool (#2809)
### Packaging

View File

@ -4,7 +4,6 @@
<p align="center">
<a href="https://github.com/psf/black/actions"><img alt="Actions Status" src="https://github.com/psf/black/workflows/Test/badge.svg"></a>
<a href="https://github.com/psf/black/actions"><img alt="Actions Status" src="https://github.com/psf/black/workflows/Primer/badge.svg"></a>
<a href="https://black.readthedocs.io/en/stable/?badge=stable"><img alt="Documentation Status" src="https://readthedocs.org/projects/black/badge/?version=stable"></a>
<a href="https://coveralls.io/github/psf/black?branch=main"><img alt="Coverage Status" src="https://coveralls.io/repos/github/psf/black/badge.svg?branch=main"></a>
<a href="https://github.com/psf/black/blob/main/LICENSE"><img alt="License: MIT" src="https://black.readthedocs.io/en/stable/_static/license.svg"></a>

View File

@ -9,51 +9,16 @@ enough to cause frustration to projects that are already "black formatted".
## black-primer
`black-primer` is a tool built for CI (and humans) to have _Black_ `--check` a number of
Git accessible projects in parallel. (configured in `primer.json`) _(A PR will be
accepted to add Mercurial support.)_
### Run flow
- Ensure we have a `black` + `git` in PATH
- Load projects from `primer.json`
- Run projects in parallel with `--worker` workers (defaults to CPU count / 2)
- Checkout projects
- Run black and record result
- Clean up repository checkout _(can optionally be disabled via `--keep`)_
- Display results summary to screen
- Default to cleaning up `--work-dir` (which defaults to tempfile schemantics)
- Return
- 0 for successful run
- \< 0 for environment / internal error
- \> 0 for each project with an error
### Speed up runs 🏎
If you're running locally yourself to test black on lots of code try:
- Using `-k` / `--keep` + `-w` / `--work-dir` so you don't have to re-checkout the repo
each run
### CLI arguments
```{program-output} black-primer --help
```
`black-primer` is an obsolete tool (now replaced with `diff-shades`) that was used to
gauge the impact of changes in _Black_ on open-source code. It is no longer used
internally and will be removed from the _Black_ repository in the future.
## diff-shades
diff-shades is a tool similar to black-primer, it also runs _Black_ across a list of Git
cloneable OSS projects recording the results. The intention is to eventually fully
replace black-primer with diff-shades as it's much more feature complete and supports
our needs better.
The main highlight feature of diff-shades is being able to compare two revisions of
_Black_. This is incredibly useful as it allows us to see what exact changes will occur,
say merging a certain PR. Black-primer's results would usually be filled with changes
caused by pre-existing code in Black drowning out the (new) changes we want to see. It
operates similarly to black-primer but crucially it saves the results as a JSON file
which allows for the rich comparison features alluded to above.
diff-shades is a tool that runs _Black_ across a list of Git cloneable OSS projects
recording the results. The main highlight feature of diff-shades is being able to
compare two revisions of _Black_. This is incredibly useful as it allows us to see what
exact changes will occur, say merging a certain PR.
For more information, please see the [diff-shades documentation][diff-shades].

View File

@ -30,9 +30,6 @@ the root of the black repo:
# Optional Fuzz testing
(.venv)$ tox -e fuzz
# Optional CI run to test your changes on many popular python projects
(.venv)$ black-primer [-k -w /tmp/black_test_repos]
```
### News / Changelog Requirement
@ -69,18 +66,6 @@ If you make changes to docs, you can test they still build locally too.
(.venv)$ sphinx-build -a -b html -W docs/ docs/_build/
```
## black-primer
`black-primer` is used by CI to pull down well-known _Black_ formatted projects and see
if we get source code changes. It will error on formatting changes or errors. Please run
before pushing your PR to see if you get the actions you would expect from _Black_ with
your PR. You may need to change
[primer.json](https://github.com/psf/black/blob/main/src/black_primer/primer.json)
configuration for it to pass.
For more `black-primer` information visit the
[documentation](./gauging_changes.md#black-primer).
## Hygiene
If you're fixing a bug, add a test. Run it first to confirm it fails, then fix the bug,