Skip to content

Latest commit

 

History

History
129 lines (88 loc) · 5.16 KB

CONTRIBUTING.md

File metadata and controls

129 lines (88 loc) · 5.16 KB

Contributing to Conda

New Issues

If your issue is a bug report or feature request for:

Code of Conduct

The conda organization adheres to the NumFOCUS Code of Conduct.

Development Environment

Bash (e.g. macOS, Linux, Windows)

  1. Signup for a GitHub account (if you haven't already) and install Git on your system.

  2. Fork the conda/conda repository to your personal GitHub account by clicking the "Fork" button on https://github.com/conda/conda and then following the instructions GitHub provides.

  3. Clone the conda repo you just forked on GitHub to your filesystem anywhere you choose. A special development environment will be set up within the git clone directory below. Set up a new git remote to point to both "upstream" (the main conda repo) and your fork repo. For detailed directions, see below.

    2a. Choose where you want the repository located (not a location of an existing conda installation though!), e.g.:

    CONDA_PROJECT_ROOT="$HOME/conda"
    

    2b. Clone the project, with upstream being the main repository. Please replace your-username with your actual GitHub username.

    GITHUB_USERNAME=your-username
    git clone [email protected]:$GITHUB_USERNAME/conda "$CONDA_PROJECT_ROOT"
    cd "$CONDA_PROJECT_ROOT"
    git remote add upstream [email protected]:conda/conda
    
  4. Create a local development environment, and activate that environment

    source ./dev/start
    

    This command will create a project-specific base environment at ./devenv. If the environment already exists, this command will just quickly activate the already-created ./devenv environment.

    To be sure that the conda code being interpreted is the code in the project directory, look at the value of conda location: in the output of conda info --all.

  5. Run conda's unit tests using GNU make

    make unit
    

    or alternately with pytest

    pytest -m "not integration" conda tests
    

    or you can use pytest to focus on one specific test

    pytest tests/test_create.py -k create_install_update_remove_smoketest
    

cmd.exe shell (Windows)

  1. Signup for a GitHub account (if you haven't already) and install Git on your system.

  2. Fork the conda/conda repository to your personal GitHub account by clicking the "Fork" button on https://github.com/conda/conda and then following the instructions GitHub provides.

  3. Clone the conda repo you just forked on GitHub to your filesystem anywhere you choose. A special development environment will be set up within the git clone directory below. Set up a new git remote to point to both "upstream" (the main conda repo) and your fork repo. For detailed directions, see below.

    2a. Choose where you want the repository located (not a location of an existing conda installation though!), e.g.:

    set "CONDA_PROJECT_ROOT=%HOMEPATH%\conda"
    

    2b. Clone the project, with upstream being the main repository. Please replace your-username with your actual GitHub username.

    set GITHUB_USERNAME=your-username
    git clone [email protected]:%GITHUB_USERNAME%/conda "%CONDA_PROJECT_ROOT%"
    cd "%CONDA_PROJECT_ROOT%"
    git remote add upstream [email protected]:%GITHUB_USERNAME%/conda
    
  4. Create a local development environment, and activate that environment

    .\dev\start.bat
    

    This command will create a project-specific base environment at .\devenv. If the environment already exists, this command will just quickly activate the already-created .\devenv environment.

    To be sure that the conda code being interpreted is the code in the project directory, look at the value of conda location: in the output of conda info --all.

Conda Contributor License Agreement

In case you're new to CLAs, this is rather standard procedure for larger projects. Django and Python for example both use similar agreements.

Note: New contributors are required to complete the Conda Contributor License Agreement.

For pull requests to be merged, contributors to GitHub pull requests need to have signed the Conda Contributor License Agreement, so Anaconda, Inc. has it on file. A record of prior signatories is kept in a separate repo in conda's GitHub organization.