Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Starting docs #95

Merged
merged 6 commits into from
May 10, 2016
Merged
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
This document intends to layout some guidelines on the transfer of
[conda-recipes]( https://github.com/conda/conda-recipes ) and
[anaconda-recipes]( https://github.com/ContinuumIO/anaconda-recipes ) to
conda-forge. These aren't hard and fast rules. They are certainly up for
discussion. However, it would be good to come up with a consensus going forward.

Eventually all recipes from those repos should be proposed for addition here.
It may be decided that a few don't actually belong or should not be supported
anymore.

When adding a package from either location, inspect the commit history to see
who has made changes to the recipe in the past. Anyone who has touched the recipe
should be pinged about it getting added here. They should also be consulted with
regards to whether the recipe needs any tweaks before being added. Also, they
should be asked if they would like to be added as maintainers. Only if they give
express permission to be adding as a maintainer should they be added to the
maintainer list. In all cases when porting a recipe, you should add yourself as a
maintainer. Some contributors to these repos were quite prolific, but may not be
as actively engaged. If they specify they only want to be contacted for certain
recipes or none at all, please respect their wishes also add make note of what
recipes (if any) they would like to be notified for. If they are no longer
interested in any conda recipes, make that note here as well. Before contacting
anyone please consult the list in this
[issue]( https://github.com/conda-forge/staged-recipes/issues/139 )
to see if that contributor has restrictions.

When porting make sure the recipe follows the linting specifications. The
section order should go `package`, `source`, `build`, `requirements`, `test`,
`about`, `extra/recipe-maintainers`. It is recommended to add a `build` section
with the `number` set to `0` explicitly even if the rest is unneeded. If there
is no build for Windows, make sure to add `skip: True # [win]` to the `build`
section. The `about` section must have the `home` URL (verify the URL is still
correct), `license` (verify the correct license is present), and a one sentence
(or few word) `summary`. When specifying the version it is strongly recommend
that jinja templating be used to set the version at the top (e.g. `{% set
version = "0.10.1" %}`) and then replace all uses of the version with `{{
version }}`. Preference should be given to compressed source balls as opposed to
version control checkouts. Make sure all links to compressed source balls allow
for easy changing of the version (using latest is not acceptable). Also, a
checksum should be included with all compressed source balls to allow for
verification of downloads.

When adding a package from either location, inspect the commit history to see
who has made changes to the recipe in the past. Anyone who has touched the
recipe should be pinged about it getting added here. They should also be
consulted with regards to whether the recipe needs any tweaks before being added.
Also, they should be asked if they would like to be added as maintainers. Only if
they give express permission to be adding as a maintainer should they be added to
the maintainer list. In all cases when porting a recipe, you should add yourself
as a maintainer. Some contributors to these repos were quite prolific, but may
not be as actively engaged. If they specify they only want to be contacted for
certain recipes or none at all, please respect their wishes also add here what
recipes (if any) they would like to be notified for. If they are no longer
interested in any conda recipes, make that note here as well. Before contacting
anyone please consult the list below to see if that contributor has
restrictions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entire paragraph seems like a duplicate of the two paragraphs before this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops. That probably happened when I was trying to line wrap things. Will take a look. Thanks @ericdill.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed. Doesn't look like there was anything suppose to be in its place.


It is required to add tests with all packages. These can included but are not
limited to checking libraries are installed, python imports, simple code snippet
to compile or run a basic test, command line usage (checking help or version).
It is suggested that compiled code run all tests (e.g. `make check`) to ensure
it was built properly. This normally should happen in the build.