Skip to content

Commit e8a73a5

Browse files
authored
updates to contributor guidelines (#42)
1 parent 9d26a0e commit e8a73a5

File tree

1 file changed

+43
-4
lines changed

1 file changed

+43
-4
lines changed

source/contributor/guidelines.rst

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,17 +173,30 @@ Patching
173173
~~~~~~~~
174174
Some recipes require small patches to get the tests to pass, for example,
175175
fixing hard-coded shebang lines (as described at
176-
:ref:`perl-or-python-not-found`). Other patches are more extensive. When
177-
patching a recipe, please first make an effort to fix the issue upstream and
178-
document that effort in your pull request by either linking to the relevant
176+
:ref:`perl-or-python-not-found`). Other patches are more extensive.
177+
178+
When patching a recipe, please first make an effort to fix the issue upstream
179+
and document that effort in your pull request by either linking to the relevant
179180
upstream PR or indicating that you have contacted the author. The goal is not
180181
to block merging your PR until upstream is fixed, but rather to make sure
181182
upstream authors know there's an issue that other users (including non-bioconda
182-
users) might be having. Ideally, upstream would fix the issue quickly and the
183+
users) might be having.
184+
185+
Ideally, upstream would fix the issue quickly and the
183186
PR could be modified, but it's fine to merge with the patches and if/when
184187
upstream fixes, a separate bioconda PR could be opened that pulls in those
185188
upstream changes.
186189

190+
Complex or extensive patches done without the original authors involved have
191+
the risk of breaking the software. PRs with extensive patching may need
192+
additional review or discussion to make sure that only high-quality recipes are
193+
distributed by Bioconda.
194+
195+
In all cases, you should document what the patching does and why, and how you
196+
tested its correctness. Recall that Bioconda tests are only to make sure the
197+
package was installed correctly, so you may need to do additional manual
198+
testing (and document the results) to be sure that the patch does not affect
199+
the functionality of the software.
187200

188201
Python
189202
------
@@ -690,6 +703,19 @@ tests or otherwise), including these in the recipe is not recommended
690703
since it may timeout the build system on CircleCI. We especially want to avoid
691704
including any kind of test data in the repository.
692705

706+
.. note::
707+
708+
To emphasize: **bioconda-recipes tests do not test functionality.**
709+
710+
Correct functionality should be handled by the software authors, typically in
711+
the upstream repository.
712+
713+
There are exceptions, where sufficiently small examples are shipped with
714+
the packaged tool itself, or the tool has a built-in example routine that has
715+
sufficiently small resource requirements, such that the tests can be run as
716+
part of the Bioconda recipe, but this is rare.
717+
718+
693719
Note that a test must return an exit code of 0. The test can be in the ``test``
694720
field of ``meta.yaml``, or can be a separate script (see the `relevant conda
695721
docs <https://docs.conda.io/projects/conda-build/en/stable/resources/define-metadata.html?highlight=test-section#test-section>`_ for
@@ -744,3 +770,16 @@ version and put the recipe there. Examples of this can be found in `bowtie2
744770
`bx-python
745771
<https://github.com/bioconda/bioconda-recipes/tree/master/recipes/bx-python>`_,
746772
and others.
773+
774+
Support for other platforms
775+
---------------------------
776+
777+
There are many cases where a package does not explicitly support a platform (like
778+
osx-arm64 or linux-aarch64) and yet there is a demand for such support.
779+
780+
These issues should be raised with the package authors first, ideally by
781+
creating an issue on the respective upstream repo. Bioconda is just
782+
a distribution mechanism for packages, so it is not appropriate for software
783+
development work on a package (like supporting an additional platform) to be
784+
exclusivly performed in the Bioconda repo. It's important to engage the
785+
upstream authors on such efforts if at all possible.

0 commit comments

Comments
 (0)