Commit 4ffac51
committed
feat(doctor): check the machine, not just the package
Every member had a doctor that knew about its own part and nothing about
what it was running on. Most reports that begin "it does not work here"
are about the machine, so the doctor now looks at that first.
Nine checks, identical in all nineteen repositories and written to be
correct on Windows, macOS and Linux without branching on which:
Which command runs Python, because the instructions used to say python3
and that is frequently absent on Windows, where the name is python or the
launcher is py. A reporter told to run a command that does not exist
reports the wrong problem.
Whether this terminal can print what the report contains, because the
point of a doctor is that its output gets pasted, and a legacy code page
turns that paste into a traceback.
Whether the checkout was rewritten to carriage returns on the way in.
Every digest over a text file disagrees while core.autocrlf is set and
none of it is the repository's fault.
How much of the 260 character Windows path budget is left. Reported on
every system, because the tree is shared, and measured from the
repository root so the number means something. Generated directories are
named and do not fail the check: pnpm nests deeply, that is real on
Windows and it is not this layout.
Then the ordinary ones: what this machine is, the default encoding, the
filesystem's case behaviour, free space, and whether git is here.
A check that throws is caught and reported as what it threw. A doctor
that dies while examining is worse than no doctor, and each of the nine
was driven against a machine that fails it before being kept.
Every issue template now requires that output and gives the command for
all three systems. Seven templates asked for nothing at all, and one
named the wrong package, so anybody following it reached a module that
does not exist.1 parent 3fca422 commit 4ffac51
6 files changed
Lines changed: 739 additions & 2 deletions
File tree
- .github/ISSUE_TEMPLATE
- mos65xx
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
16 | 31 | | |
17 | 32 | | |
18 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
262 | 264 | | |
263 | 265 | | |
264 | 266 | | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
265 | 271 | | |
266 | 272 | | |
267 | 273 | | |
| |||
0 commit comments