Contributing
============
.. _new-issues:
New Issues
----------
If your issue is a bug report or feature request for:
* **a specific conda package**: please file it at https://github.com/ContinuumIO/anaconda-issues/issues
* **anaconda.org**: please file it at https://github.com/Anaconda-Platform/support/issues
* **repo.anaconda.com**: please file it at https://github.com/ContinuumIO/anaconda-issues/issues
* **commands under** ``conda build``: please file it at https://github.com/conda/conda-build/issues
* **commands under** ``conda env``: please file it at https://github.com/conda/conda/issues
* **all other conda commands**: please file it at https://github.com/conda/conda/issues
Development Environment, Bash
-----------------------------
To set up an environment to start developing on conda code, we recommend the following steps:
1. Fork the conda/conda repository, clone it locally anywhere you choose (an isolation miniconda
will be set up within the clone directory), and set up ``git remote`` to point to upstream
and fork. For detailed directions, see below.
1a. Choose where you want the repository located (not location of existing conda)
.. code-block :: console
CONDA_PROJECT_ROOT="$HOME/conda"
1b. Clone the project, with ``upstream`` being the main repository. Make sure to click the ``Fork``
button above so you have your own copy of this repo.
.. code-block :: console
GITHUB_USERNAME=kalefranz
git clone git@github.com:$GITHUB_USERNAME/conda "$CONDA_PROJECT_ROOT"
cd "$CONDA_PROJECT_ROOT"
git remote add upstream git@github.com:conda/conda
2. Create a local development environment, and activate that environment
.. code-block :: console
. 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``.
3. Run conda's unit tests using GNU make
.. code-block :: console
make unit
or alternately with pytest
.. code-block :: console
py.test -m "not integration and not installed" conda tests
or you can use pytest to focus on one specific test
.. code-block :: console
py.test tests/test_create.py -k create_install_update_remove_smoketest
Development Environment, Windows cmd.exe shell
----------------------------------------------
In these steps, we assume ``git`` is installed and available on ``PATH``.
1. Choose where you want the project located
.. code-block :: console
set "CONDA_PROJECT_ROOT=%HOMEPATH%\conda"
2. Clone the project, with ``origin`` being the main repository. Make sure to click the ``Fork``
button above so you have your own copy of this repo.
.. code-block :: console
set GITHUB_USERNAME=kalefranz
git clone git@github.com:conda/conda "%CONDA_PROJECT_ROOT%"
cd "%CONDA_PROJECT_ROOT%"
git remote add %GITHUB_USERNAME% git@github.com:%GITHUB_USERNAME%/conda
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``.
3. Create a local development environment, and activate that environment
.. code-block :: console
.\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.
Conda Contributor License Agreement
-----------------------------------
In case you're new to CLAs, this is rather standard procedure for larger projects.
`Django `_ and even
`Python `_ itself both use something similar.
> CLA agreements are ultimately approved by a person and are not fully automatic, so it
> may take some time for the CLA checks on your PRs to run successfully.
.. raw:: html