Skip to content

Commit

Permalink
Adding guidelines for user/channel (conan-io#3858)
Browse files Browse the repository at this point in the history
* bold

* Update knowledge/guidelines.rst

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Update knowledge/guidelines.rst

Co-authored-by: Abril Rincón Blanco <[email protected]>

---------

Co-authored-by: Abril Rincón Blanco <[email protected]>
  • Loading branch information
memsharded and AbrilRBS authored Sep 30, 2024
1 parent 8d99beb commit c41fb19
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions knowledge/guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@ Good practices
``conan install . -s="os=Windows"`` is correct, but ``conan install -s="os=Windows" .`` is not.
Likewise, it's recommended to use ``=`` instead of spaces between the name and value of named arguments.
This is to avoid some ambiguity scenarios when parsing the command line arguments.
- **It is strongly discouraged to use user/channel** for any quality, stage, maturity or variable information
The ``channel`` part is very legacy, and should be avoided in most cases, or use a fixed string as ``stable``.
The ``user`` might be used for intra-organization private packages, while the recommendation for packages coming
from ConanCenter or forks of ``conan-center-index`` Github repo is to use them without any user or channel, like
the ``zlib/1.3.1`` ConanCenter references, even for customization of the recipes and packages for those third party
libraries.
- The way to manage package quality, stage or maturity **promotions is by using different server repositories**, and the well known developer's
best practices recommend to manage the pipelines by doing promotions (copying) immutable artifacts or packages between
those different server repositories, for example copying packages from a ``staging`` repository to a ``production`` repository
once they have passed some quality checks. But it is very important that this promotion does not change in any way those
packages, which must be completely immutable, not even changing its ``user/channel``, this is why the above point discourages
using user and channel, packages and artifacts must be immutable.

Forbidden practices
-------------------
Expand Down

0 comments on commit c41fb19

Please sign in to comment.