Instead of maintaining a list of linting and actions to perform separately in the CI/CD script (in python-publish.yaml), we should list all the linting in a single location (.pre-commit-config.yaml), and then run pre-commit run in the CI/CD script. This way, what people are running locally via pre-commit is the same as what's being required on the CI server.
This reduces code duplication between the CI configuration, and the pre-commit configuration.