tree 744699ca6ee182efc62de99f91566be24c37de1b
parent a816962e509311c23230730b4b28f9d52a229949
author Wyatt Hepler <255@users.noreply.github.com> 1741302751 -0800
committer GitHub <noreply@github.com> 1741302751 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJnyivuCRC1aQ7uu5UhlAAAIgUQAKA/UaKajEHFAZP7OKkYFTNR
 hWrkGUFhFb48ERoobG2lFbPnmGR1n69kYR7iGw+UIRMGBpGsrGtwVMEElJJ6DoVV
 KNqKtUxKousRw3aeCTpN4t2Iy5sYbK58m3BK+4HtGvJgsK7JrPXNMIuhHxGBYNJ3
 HlryOT8Romq3/1zMY/WSgfLhKH8EwkkGjhRIUTmy6UP91ThJnv/HwR2Uhn7ZQq6U
 3/H9YjafkTxplRMFTQSsE/NCc1DiLi/oe3WIy2pV8Rj2pHcKe9eVszr9ly8n+H/F
 3ttKMP7KnU6tPQ09gdPx7eenVE7VbFK5fQ5TWJF6jOOIgzp3/dlZiDxyw/WL1idb
 6Lx+tNRyNQptWO6C3JSBEEqMoXbkPwzlWm9sbs+hhboNJz9HxC3nKfKCXkNzv+Ll
 syXfUGBAfuNhL+AgQSpAxjPcbWQNM8mM0/DP5NEjEBjGHjst3PfR3aWd1hy+QpIf
 DixXtiaQCbW2VuV1x8kd54huDtrvEsbk/bsFiO9H0D6zFeP9vJhO2PLeh5OHjZlJ
 YZhWUDRrntATmVM52FV58VFJCfNLc3VLoLqahZM4DQLTKCiANt327GqnJRak9ozX
 Ya7BnNcO3Aw+/jjGt56gok5/o3yOV/Ax8eiRjEowyH9mOKp1DUGf6VmWrzuj6OJI
 N5FD5FZsU7wXv1VXum+6
 =N0x9
 -----END PGP SIGNATURE-----
 

chore: Remove *_build_test targets from sphinx_docs (#2645) (#2650)

Remove implicit `build_test`s from `sphinx_docs` targets. Instead, users
can decide whether or not to add `build_tests` for docs. This also keeps
`sphinx_docs` builds out of `bazel test //...`, which may not be
desirable.

Add `build_test`s to cover in-tree `sphinx_docs` targets. Rename the
existing `build_test` for `//sphinxdocs/tests/sphinx_docs:docs` to match
the new targets.

Also, tag the `sphinx_docs` `*.run` and `*.serve` targets as `"manual"`
so they are excluded from wildcards. These are only needed for
interactive development.

---------

Co-authored-by: Richard Levasseur <richardlev@gmail.com>