Skip to content

Complete CONTRIBUTING.md (or create tests/README.md) #564

Closed

Description

@nagromc

This issue continues what has been started in pre-commit/pre-commit-hooks#217

So @asottile, what do you want me to merge (by adapting what I wrote of course) in pre-commit/pre-commit/CONTRIBUTING.md?

Proposed changes:

  1. Create tests/README.md
    • to move testing related stuff in CONTRIBUTING.md, and make a link from CONTRIBUTING.md to tests/README.md. I think contributing is not necessarily developing feature/fixing bug;
    • or at least to link to CONTRIBUTING.md.
  2. Get rid of the supported Python versions, or at least point to tox.ini
  3. Keep the Git configuration interference
    • it is a temporary workaround waiting the bug to be fixed;
    • we can mention to open an issue if this kind of problem occurs.

Activity

  1. asottile commented on Jul 18, 2017

    @asottile
    Member

    First I don't think we should split the two files, it's pretty unlikely that someone is going to read either of them in the first place :)

    I've collected a few other repositories for some guidance:

    • pip/pypa:
      • has a contributing.md and a docs/development.rst
      • their CONTRIBUTING.md is largely a link to their code of conduct -- there haven't been any issues yet of code of conduct, I don't think this is important at this point in the project
      • Their developing file contains a short blurb about how to run the tests -- but mostly assumes you know how to use the tools
    • unbit/uwsgi - nothing at all, hmm
    • requests/requests
      • contributing.md and docs/dev/contributing.rst
      • similar to pip, their contributing.md largely links to their code of conduct and the other contributing file
      • their contributing.rst mentions tox / py.test not at all, assuming the reader knows how to use these tools or that the reader can peruse the tool's documentation to figure that out
    • pytest-dev/pytest
      • A single contributing.md
      • This has the full gamut of code of conduct and test running
      • Again, they don't really go super into detail on duplicating tox / pytest docs

    I didn't really have time to find other large python projects but my general idea from those couple that I perused is to avoid duplicating the upstream tooling's documentation -- generally keeping it simple :)

    Hmm, my thoughts on this and feel free to disagree (I'll go section by section based on your PR):

    targeted environments

    I think we can largely leave this out, this information is in four common places already: setup.py, tox.ini, .travis.yml, appveyor.yml

    installing the test environment

    I don't really want to write directions for installing python on $N different systems. Also the current documentation doesn't necessarily work (without first adding ppa:deadsnakes (shameless plug, I help maintain 😆)) for all debian-based distributions. If this were added, I could see other PRs for adding instructions to install python on macos / windows / etc. and I think people are better off just googling that (or going to python.org).

    Running the tests

    A lot of this section is good, but a lot of it is duplicated in CONTRIBUTING.md, if anything gets kept it'd come out of this section 👍

    I'm not sure the bit about git configuration is super necessary, I think people's initial thought should be "the tests are broken" => make an issue. I think the reason your feature continued to have problems was you didn't pull the upstream after I made the fixes, heh.

    Let me know your thoughts :)

  2. asottile commented on Oct 10, 2017

    @asottile
    Member

    For now I'm going to close this, feel free to add to the CONTRIBUTING.md file in this repository :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions