|
51 | 51 | - name: Install greenlet (non-Mac) |
52 | 52 | if: ${{ ! startsWith(runner.os, 'Mac') }} |
53 | 53 | run: | |
54 | | - # Stupid setuptools doesn't want you running 'python setup.py' anymore, |
55 | | - # but stupid pip hides all the intersting compiler output by default, and the |
| 54 | + # setuptools doesn't want you running 'python setup.py' anymore, |
| 55 | + # but pip hides all the intersting compiler output by default, and the |
56 | 56 | # only way to get anything useful out is to ask *everything* to be verbose, |
57 | 57 | # which is much more junk than we need to wade through, making it hard to |
58 | 58 | # see what we want. What's the point of having warnings at all if we can't |
@@ -104,6 +104,20 @@ jobs: |
104 | 104 | python -c 'import greenlet._greenlet as G; assert G.GREENLET_USE_STANDARD_THREADING' |
105 | 105 | python -m unittest discover -v greenlet.tests |
106 | 106 | - name: Doctest |
| 107 | + env: |
| 108 | + # XXX: On 3.14t, when the thread-local bytecode cache is |
| 109 | + # enabled, sphinx crashes on module cleanup: there is a |
| 110 | + # reference to pdb.set_trace in ``glob``, and when the |
| 111 | + # shutdown sequence tries to clear that value, it segfaults |
| 112 | + # dec-reffing it after taking it out of the module dict. The |
| 113 | + # object appears to be corrupt, but it is utterly unclear how |
| 114 | + # we could have done this. It is 100% reliable on bath Mac and |
| 115 | + # Linux. It can be traced down to a very simple doctest |
| 116 | + # snippet in greenlet_gc.rst, but running that same snippet |
| 117 | + # standalone in a unit test doesn't produce the error. |
| 118 | + # |
| 119 | + # So this is a temporary workaround. |
| 120 | + PYTHON_TLBC: "0" |
107 | 121 | run: | |
108 | 122 | sphinx-build -b doctest -d docs/_build/doctrees2 docs docs/_build/doctest2 |
109 | 123 | - name: Lint |
|
0 commit comments