Title: Tooling is somewhat poorly discoverable · Issue #1692 · gitpython-developers/GitPython · GitHub
Open Graph Title: Tooling is somewhat poorly discoverable · Issue #1692 · gitpython-developers/GitPython
X Title: Tooling is somewhat poorly discoverable · Issue #1692 · gitpython-developers/GitPython
Description: The Running Tests section of the readme includes some information about tools, such as linters, to use with the project, how to run them, and where their configuration files are. However, this has not been updated in a while, and: CI is ...
Open Graph Description: The Running Tests section of the readme includes some information about tools, such as linters, to use with the project, how to run them, and where their configuration files are. However, this has ...
X Description: The Running Tests section of the readme includes some information about tools, such as linters, to use with the project, how to run them, and where their configuration files are. However, this has ...
Opengraph URL: https://github.com/gitpython-developers/GitPython/issues/1692
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Tooling is somewhat poorly discoverable","articleBody":"The [Running Tests](https://github.com/gitpython-developers/GitPython?tab=readme-ov-file#running-tests) section of the readme includes some information about tools, such as linters, to use with the project, how to run them, and where their configuration files are. However, this has not been updated in a while, and:\r\n\r\n- CI is the primary way tools are run for this project, but the CI workflows are not mentioned.\r\n- `pre-commit` is used for several checks, but its own configuration file is not mentioned.\r\n- Information on preconditions for running tests in forks is outdated: CI runs on all branches, so the fork need not have a `main` branch. (In practice, forks will, but the key is that people do not need to develop their features on their fork's default branch.)\r\n\r\nThe bigger issue, though, is how recent changes from pull requests I have opened have made the situation worse:\r\n\r\n- `tox` is not mentioned in the readme.\r\n- `tox.ini` defines an `html` environment to test building documentation, but does not list it in `env_list`, so it is hard to notice it exists. The reason it is not listed is that it should not be run by default, because it writes (and overwrites) files in the actual `doc/build` directory. If `doc/Makefile` is made to support custom build directories, then that `tox` environment can be made to write documentation into its temporary directory, and it can be listed (and otherwise treated) like the other `tox` environments.\r\n- `tox.ini` specifies Python 3.9 for everything that doesn't need to run on multiple versions of Python, for compatibility with Cygwin, and it allows missing interpreters to be skipped without error, also for compatibility with Cygwin. But users may well not have Python 3.9, in which case these just don't run, *and may not be noticed*. `tox.ini` should not multiply those environments for multiple Python versions, but it should list backup versions (every other supported version, in some reasonable order) as well, for those environments to use.\r\n- Users can run `black .`, but `black` is not being run on CI, nor via `pre-commit`, which makes it easy to forget to run it or, if one is less familiar with the project's tooling, to be unaware that it is even available.\r\n- Every time I have made a change to a shell script in this project, I have run [`shellcheck`](https://www.shellcheck.net/). But as far as I know, I have not even mentioned this tool anywhere, only [alluded to its use](https://github.com/gitpython-developers/GitPython/pull/1661#issuecomment-1719392766). This is not quite an issue of the *tool*'s discoverability: most people who contribute to this project probably won't edit a shell script, but when someone does, it would be useful for `shellcheck` to run on CI and (when in use) via `pre-commit` to make possible problems with the changes discoverable.\r\n\r\nIn addition, it is arguably a discoverability issue that `flake8` is not listed as a development dependency (which is not necessary for running it via `pre-commit`, which takes care of installing it in a virtual environment it manages). However, I am still reluctant to add it and its plugins as development dependencies, because I think much older versions with possibly different behavior would be gotten on Python 3.7, and because I still intend to replace it with `ruff`.\r\n\r\nThrough my work on these issues so far, I have come to think all this could be fixed together and in the same PR that would also fix #1690 and #1691. However, in case the scope turns out to be too large, I'm making this issue so the matter is not forgotten about. Having this also has the benefit that there is less to document in a PR that covers it along with other things.","author":{"url":"https://github.com/EliahKagan","@type":"Person","name":"EliahKagan"},"datePublished":"2023-10-04T02:06:21.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/1692/GitPython/issues/1692"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:0a34b1df-4c92-eee1-9347-7f4937b1371a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E728:20EC3:4B657E:637267:6968374D |
| html-safe-nonce | ae61d71274c55dd232a80f98a9e010132248378e3ebf86a8466cf31cf243acfa |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNzI4OjIwRUMzOjRCNjU3RTo2MzcyNjc6Njk2ODM3NEQiLCJ2aXNpdG9yX2lkIjoiNzMxMTE4NzQwOTQzMDM5NDcwMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 69271a7acb456179d148a03765784addcce0cc880c94d11d1afe918178cb2405 |
| hovercard-subject-tag | issue:1925261794 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/gitpython-developers/GitPython/1692/issue_layout |
| twitter:image | https://opengraph.githubassets.com/046e91af230d1f9c3dfd778f0360e9b4b3dfb7ce2503fa1e34e7fc04d17bde4e/gitpython-developers/GitPython/issues/1692 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/046e91af230d1f9c3dfd778f0360e9b4b3dfb7ce2503fa1e34e7fc04d17bde4e/gitpython-developers/GitPython/issues/1692 |
| og:image:alt | The Running Tests section of the readme includes some information about tools, such as linters, to use with the project, how to run them, and where their configuration files are. However, this has ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | EliahKagan |
| hostname | github.com |
| expected-hostname | github.com |
| None | e25f416bb6d8a5f8624aad6cebc375ab2c50ac58f2175f32a7093325e66e5515 |
| turbo-cache-control | no-preview |
| go-import | github.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git |
| octolytics-dimension-user_id | 503709 |
| octolytics-dimension-user_login | gitpython-developers |
| octolytics-dimension-repository_id | 1126087 |
| octolytics-dimension-repository_nwo | gitpython-developers/GitPython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1126087 |
| octolytics-dimension-repository_network_root_nwo | gitpython-developers/GitPython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 32212b8b3bddd6432b3b35d27c050b1c22bd8cca |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width