From: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date: Thu, 27 Jan 2022 01:18:43 +0000 (-0800)
Subject: black-primer: stop running it (#2809)
X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/b517dfb396a82ef263f0d366c4dc107451cf0c3c

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.
---

diff --git a/.github/workflows/primer.yml b/.github/workflows/primer.yml
deleted file mode 100644
index 5fa6ac0..0000000
--- a/.github/workflows/primer.yml
+++ /dev/null
@@ -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
diff --git a/.github/workflows/uvloop_test.yml b/.github/workflows/uvloop_test.yml
index 5d23ec6..a639bbd 100644
--- a/.github/workflows/uvloop_test.yml
+++ b/.github/workflows/uvloop_test.yml
@@ -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/
diff --git a/CHANGES.md b/CHANGES.md
index 3799068..0dc4952 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -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
 
diff --git a/README.md b/README.md
index e900d2d..a00495c 100644
--- a/README.md
+++ b/README.md
@@ -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>
diff --git a/docs/contributing/gauging_changes.md b/docs/contributing/gauging_changes.md
index 9b38fe1..59c40eb 100644
--- a/docs/contributing/gauging_changes.md
+++ b/docs/contributing/gauging_changes.md
@@ -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].
 
diff --git a/docs/contributing/the_basics.md b/docs/contributing/the_basics.md
index 23fbb8a..9325a9e 100644
--- a/docs/contributing/the_basics.md
+++ b/docs/contributing/the_basics.md
@@ -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,