From 58cbefeb55720e6cf2c593bf53b46da0f04a4337 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Wed, 3 Jan 2024 19:36:32 -0500 Subject: [PATCH 01/15] Create cfep-21.md --- cfep-21.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 cfep-21.md diff --git a/cfep-21.md b/cfep-21.md new file mode 100644 index 0000000..32a3437 --- /dev/null +++ b/cfep-21.md @@ -0,0 +1,46 @@ + + + + + + + + + +
Title Conda Forge-Bioconda Transfer Policy
Status Draft | Proposed | Accepted | Rejected | Deferred | Implemented
Author(s) Mervin Fansler <fanslerm@mskcc.org>
Created Jan 03, 2024
Updated Jan 03, 2024
Discussion link to the PR where the CFEP is being discussed, NA is circulated initially
Implementation link to the PR for the implementation, NA if not availble
+ +## Abstract + +Bioconda and Conda Forge have occasionally transferred package recipes between them. The `strict` channel +priority recommended to Bioconda users and used when building packages on the Bioconda channel poses an +issue when transfers occur, especially in the from Conda Forge to Bioconda direction. This proposal aims to +define a policy for standard procedure when such transfers occur. Included in this is the introduction +of a new label to be applied to all package builds that transfer from Conda Forge to Bioconda. + +## Specification + +### Bioconda to Conda Forge Transfers + +1. Packages on Bioconda considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. +2. A Pull Request should be create on Conda Forge's `staged-recipes` repository to add the +3. Linter behavior flags adding a recipe already hosted by Bioconda. This will trigger a message to the conda-forge/bioconda-recipes team. + +## Other sections + +Other relevant sections of the proposal. Common sections include: + + * Specification -- The technical details of the proposed change. + * Motivation -- Why the proposed change is needed. + * Rationale -- Why particular decisions were made in the proposal. + * Backwards Compatibility -- Will the proposed change break existing + packages or workflows. + * Alternatives -- Any alternatives considered during the design. + * Sample Implementation -- Links to prototype or a sample implementation of + the proposed change. + * FAQ -- Frequently asked questions (and answers to them). + * Resolution -- A short summary of the decision made by the community. + * Reference -- Any references used in the design of the CFEP. + +## Copyright + +All CFEPs are explicitly [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/). From 1ffde6eda35a277e5af2030e5aeff32952171304 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Wed, 10 Jul 2024 10:12:00 +0200 Subject: [PATCH 02/15] cf-to-bc start --- cfep-21.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/cfep-21.md b/cfep-21.md index 32a3437..bea4e58 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -1,21 +1,21 @@ - + - - + +
Title Conda Forge-Bioconda Transfer Policy
Status Draft | Proposed | Accepted | Rejected | Deferred | Implemented
Status Draft
Author(s) Mervin Fansler <fanslerm@mskcc.org>
Created Jan 03, 2024
Updated Jan 03, 2024
Created 10 July 2024
Updated 10 July 2024
Discussion link to the PR where the CFEP is being discussed, NA is circulated initially
Implementation link to the PR for the implementation, NA if not availble
## Abstract -Bioconda and Conda Forge have occasionally transferred package recipes between them. The `strict` channel -priority recommended to Bioconda users and used when building packages on the Bioconda channel poses an -issue when transfers occur, especially in the from Conda Forge to Bioconda direction. This proposal aims to +Bioconda (BC) and Conda Forge (CF) have occasionally transferred package recipes between them. The `strict` channel +priority recommended to BC users and used when building packages on the BC channel poses an +issue when transfers occur, especially in the CF -> BC direction. This proposal aims to define a policy for standard procedure when such transfers occur. Included in this is the introduction -of a new label to be applied to all package builds that transfer from Conda Forge to Bioconda. +of a new label to be applied to all package builds that transfer CF -> BC. ## Specification @@ -23,7 +23,13 @@ of a new label to be applied to all package builds that transfer from Conda Forg 1. Packages on Bioconda considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. 2. A Pull Request should be create on Conda Forge's `staged-recipes` repository to add the -3. Linter behavior flags adding a recipe already hosted by Bioconda. This will trigger a message to the conda-forge/bioconda-recipes team. +3. Linter flags when adding a recipe already hosted by Bioconda. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). + +### Conda Forge to Bioconda Transfers + +1. An Issue should be created on CF feedstock with the title "Move to Bioconda". +2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. +3. ## Other sections From bc242a86682be96630a7e55b1ad7c7dff7632eaa Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Wed, 10 Jul 2024 10:12:30 +0200 Subject: [PATCH 03/15] update email --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index bea4e58..563dbc7 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -2,7 +2,7 @@ - + From f949bb762d369d06776ebcc7f33b53350a4cd457 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Wed, 10 Jul 2024 10:22:04 +0200 Subject: [PATCH 04/15] no arrow --- cfep-21.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cfep-21.md b/cfep-21.md index 563dbc7..f56d007 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -13,21 +13,21 @@ Bioconda (BC) and Conda Forge (CF) have occasionally transferred package recipes between them. The `strict` channel priority recommended to BC users and used when building packages on the BC channel poses an -issue when transfers occur, especially in the CF -> BC direction. This proposal aims to +issue when transfers occur, especially in the CF-to-BC direction. This proposal aims to define a policy for standard procedure when such transfers occur. Included in this is the introduction -of a new label to be applied to all package builds that transfer CF -> BC. +of a new label to be applied to all package builds that transfer CF-to-BC. ## Specification -### Bioconda to Conda Forge Transfers +### Bioconda to Conda Forge (BC-to-CF) Transfers 1. Packages on Bioconda considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. 2. A Pull Request should be create on Conda Forge's `staged-recipes` repository to add the 3. Linter flags when adding a recipe already hosted by Bioconda. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). -### Conda Forge to Bioconda Transfers +### Conda Forge to Bioconda (CF-to-BC) Transfers -1. An Issue should be created on CF feedstock with the title "Move to Bioconda". +1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". It 2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. 3. From 04051d87d7c8db4e2c3265e84c5fc0825222b494 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 09:29:24 +0200 Subject: [PATCH 05/15] draft --- cfep-21.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/cfep-21.md b/cfep-21.md index f56d007..8ab0df5 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -4,7 +4,7 @@ - +
Title Conda Forge-Bioconda Transfer Policy
Status Draft
Author(s) Mervin Fansler <fanslerm@mskcc.org>
Author(s) Mervin Fansler <mervin.fansler@bric.ku.dk>
Created 10 July 2024
Updated 10 July 2024
Discussion link to the PR where the CFEP is being discussed, NA is circulated initially
Status Draft
Author(s) Mervin Fansler <mervin.fansler@bric.ku.dk>
Created 10 July 2024
Updated 10 July 2024
Updated 18 July 2024
Discussion link to the PR where the CFEP is being discussed, NA is circulated initially
Implementation link to the PR for the implementation, NA if not availble
@@ -21,15 +21,23 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ### Bioconda to Conda Forge (BC-to-CF) Transfers -1. Packages on Bioconda considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. -2. A Pull Request should be create on Conda Forge's `staged-recipes` repository to add the -3. Linter flags when adding a recipe already hosted by Bioconda. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). +1. Packages on BC considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. +2. A Pull Request should be create on CF's `staged-recipes` repository to add the +3. The linter will flag when adding a recipe already hosted by BC. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). +4. Upon approval by a **conda-forge/bioconda-recipes** team member, the Pull Request can then be reviewed and merged. +5. A Pull Request should be created (or edited) on `bioconda-recipes` that removes the recipe. A link to the CF `staged-recipes` Pull Request should be documented in the Pull Request text. ### Conda Forge to Bioconda (CF-to-BC) Transfers -1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". It -2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. -3. +1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". The **conda-forge/bioconda-recipes** team can also be pinged for their input. +2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. The **conda-forge/bioconda-recipes** should be pinged to review. +3. A Pull Request on BC's `bioconda-recipes` should be created to add the recipe there. A link to this Pull Request should be added to the above Issue and Pull Request. +4. Once a link is provided and a **conda-forge/bioconda-recipes** member has reviewed the Pull Request on `conda-forge/admin-requests`, CF Core should proceed to review and merge. +5. The BC `bioconda-recipes` Pull Request can be merged after **conda-forge/bioconda-recipes** has approved the `conda-forge/admin-requests` Pull Request. + +## Motivation + +BC package builds use a `strict` channel priority with the channels `conda-forge > bioconda > defaults`. This creates a situation that when a package transfers from CF to BC that the presence of builds with `main` label in `conda-forge` masks the solver from considering builds in lower priority channel. This CFEP proposes to resolve this by moving `conda-forge` builds off the `main` label and onto a dedicated labe. By using a dedicated label for this, we provide end-users with a means of re-enabling search of these older packages by explicitly specifying the label when solving. ## Other sections From f6bf5a7a115eb25bd6328bb4d34eb1a0e7bdfa58 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 09:38:01 +0200 Subject: [PATCH 06/15] link PR --- cfep-21.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cfep-21.md b/cfep-21.md index 8ab0df5..8b201b0 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -5,8 +5,8 @@ Author(s) Mervin Fansler <mervin.fansler@bric.ku.dk> Created 10 July 2024 Updated 18 July 2024 - Discussion link to the PR where the CFEP is being discussed, NA is circulated initially - Implementation link to the PR for the implementation, NA if not availble + Discussion https://github.com/conda-forge/cfep/pull/52 + Implementation NA ## Abstract From 20593cf4a85f2b22bf41781d2299ad156f0c8224 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:17:34 +0200 Subject: [PATCH 07/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index 8b201b0..ed696db 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -1,6 +1,6 @@ - + From 4b73c2a230e4e2a15361243d11dcc43673599368 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:17:49 +0200 Subject: [PATCH 08/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index ed696db..efa7f01 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -11,7 +11,7 @@ ## Abstract -Bioconda (BC) and Conda Forge (CF) have occasionally transferred package recipes between them. The `strict` channel +Bioconda (BC) and conda-forge (CF) have occasionally transferred package recipes between them. The `strict` channel priority recommended to BC users and used when building packages on the BC channel poses an issue when transfers occur, especially in the CF-to-BC direction. This proposal aims to define a policy for standard procedure when such transfers occur. Included in this is the introduction From 8a845d51af467e888f44eee5a67cb253c47de92a Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:17:58 +0200 Subject: [PATCH 09/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index efa7f01..a486484 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -19,7 +19,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ## Specification -### Bioconda to Conda Forge (BC-to-CF) Transfers +### Bioconda to conda-forge (BC-to-CF) Transfers 1. Packages on BC considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. 2. A Pull Request should be create on CF's `staged-recipes` repository to add the From 2192eada5de3f1e047a8e02679aed43422559a29 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:18:07 +0200 Subject: [PATCH 10/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index a486484..161d0e2 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -21,7 +21,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ### Bioconda to conda-forge (BC-to-CF) Transfers -1. Packages on BC considered for transfer should be marked with a ["Move to Conda Forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. +1. Packages on BC considered for transfer should be marked with a ["Move to conda-forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. 2. A Pull Request should be create on CF's `staged-recipes` repository to add the 3. The linter will flag when adding a recipe already hosted by BC. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). 4. Upon approval by a **conda-forge/bioconda-recipes** team member, the Pull Request can then be reviewed and merged. From c0ba9db34449824860fedd220ba3962cdde0c248 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:18:29 +0200 Subject: [PATCH 11/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index 161d0e2..9e33227 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -27,7 +27,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. 4. Upon approval by a **conda-forge/bioconda-recipes** team member, the Pull Request can then be reviewed and merged. 5. A Pull Request should be created (or edited) on `bioconda-recipes` that removes the recipe. A link to the CF `staged-recipes` Pull Request should be documented in the Pull Request text. -### Conda Forge to Bioconda (CF-to-BC) Transfers +### conda-forge to Bioconda (CF-to-BC) Transfers 1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". The **conda-forge/bioconda-recipes** team can also be pinged for their input. 2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. The **conda-forge/bioconda-recipes** should be pinged to review. From 64487ba8e1fd48778bdedc9d5aff14c464b9ee75 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:18:45 +0200 Subject: [PATCH 12/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index 9e33227..1d622c5 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -32,7 +32,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. 1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". The **conda-forge/bioconda-recipes** team can also be pinged for their input. 2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. The **conda-forge/bioconda-recipes** should be pinged to review. 3. A Pull Request on BC's `bioconda-recipes` should be created to add the recipe there. A link to this Pull Request should be added to the above Issue and Pull Request. -4. Once a link is provided and a **conda-forge/bioconda-recipes** member has reviewed the Pull Request on `conda-forge/admin-requests`, CF Core should proceed to review and merge. +4. Once a link is provided and a **conda-forge/bioconda-recipes** member has reviewed the Pull Request on `conda-forge/admin-requests`, **conda-forge/core** should proceed to review and merge. 5. The BC `bioconda-recipes` Pull Request can be merged after **conda-forge/bioconda-recipes** has approved the `conda-forge/admin-requests` Pull Request. ## Motivation From a45980db3768b14aa325f77da60d59fe01a6d0ec Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 18 Jul 2024 10:19:01 +0200 Subject: [PATCH 13/15] Update cfep-21.md Co-authored-by: jaimergp --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index 1d622c5..32defd5 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -37,7 +37,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ## Motivation -BC package builds use a `strict` channel priority with the channels `conda-forge > bioconda > defaults`. This creates a situation that when a package transfers from CF to BC that the presence of builds with `main` label in `conda-forge` masks the solver from considering builds in lower priority channel. This CFEP proposes to resolve this by moving `conda-forge` builds off the `main` label and onto a dedicated labe. By using a dedicated label for this, we provide end-users with a means of re-enabling search of these older packages by explicitly specifying the label when solving. +BC package builds use a `strict` channel priority with the channels `conda-forge > bioconda > defaults`. This creates a situation that when a package transfers from CF to BC that the presence of builds with `main` label in `conda-forge` masks the solver from considering builds in lower priority channel. This CFEP proposes to resolve this by moving `conda-forge` builds off the `main` label and onto a dedicated label. By using a dedicated label for this, we provide end-users with a means of re-enabling search of these older packages by explicitly specifying the label when solving. ## Other sections From 7349546cb26644b65a73f13d7ba0635c984e4bcb Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 19 Sep 2024 09:57:05 +0200 Subject: [PATCH 14/15] Update cfep-21.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Björn Grüning --- cfep-21.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfep-21.md b/cfep-21.md index 32defd5..6ccd8e4 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -22,7 +22,7 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ### Bioconda to conda-forge (BC-to-CF) Transfers 1. Packages on BC considered for transfer should be marked with a ["Move to conda-forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. -2. A Pull Request should be create on CF's `staged-recipes` repository to add the +2. A Pull Request should be create on CF's `staged-recipes` repository to add the recipe 3. The linter will flag when adding a recipe already hosted by BC. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). 4. Upon approval by a **conda-forge/bioconda-recipes** team member, the Pull Request can then be reviewed and merged. 5. A Pull Request should be created (or edited) on `bioconda-recipes` that removes the recipe. A link to the CF `staged-recipes` Pull Request should be documented in the Pull Request text. From b2714ce606eb72043e926f5d9e10d8470e704356 Mon Sep 17 00:00:00 2001 From: Mervin Fansler Date: Thu, 19 Sep 2024 12:03:24 +0200 Subject: [PATCH 15/15] add expected implementation --- cfep-21.md | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/cfep-21.md b/cfep-21.md index 6ccd8e4..467d7bf 100644 --- a/cfep-21.md +++ b/cfep-21.md @@ -4,7 +4,7 @@ - +
Title Conda Forge-Bioconda Transfer Policy
Title conda-forge / Bioconda Transfer Policy
Status Draft
Author(s) Mervin Fansler <mervin.fansler@bric.ku.dk>
Created 10 July 2024
Status Draft
Author(s) Mervin Fansler <mervin.fansler@bric.ku.dk>
Created 10 July 2024
Updated 18 July 2024
Updated 19 September 2024
Discussion https://github.com/conda-forge/cfep/pull/52
Implementation NA
@@ -14,7 +14,7 @@ Bioconda (BC) and conda-forge (CF) have occasionally transferred package recipes between them. The `strict` channel priority recommended to BC users and used when building packages on the BC channel poses an issue when transfers occur, especially in the CF-to-BC direction. This proposal aims to -define a policy for standard procedure when such transfers occur. Included in this is the introduction +define a policy for standard procedures when such transfers occur. Included in this is the introduction of a new label to be applied to all package builds that transfer CF-to-BC. ## Specification @@ -22,22 +22,38 @@ of a new label to be applied to all package builds that transfer CF-to-BC. ### Bioconda to conda-forge (BC-to-CF) Transfers 1. Packages on BC considered for transfer should be marked with a ["Move to conda-forge" label](https://github.com/bioconda/bioconda-recipes/labels/Move%20to%20Conda-Forge) in the `bioconda-recipes` repository. This label can be applied either in an Issue or a Pull Request. -2. A Pull Request should be create on CF's `staged-recipes` repository to add the recipe +2. A Pull Request should be create on CF's `staged-recipes` repository to add the recipe. A link to the labeled BC Issue/Pull Request should be included in the body of the CF Pull Request. 3. The linter will flag when adding a recipe already hosted by BC. This will trigger a message to [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes). -4. Upon approval by a **conda-forge/bioconda-recipes** team member, the Pull Request can then be reviewed and merged. +4. Upon approval by [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes), the Pull Request can then be reviewed and merged. 5. A Pull Request should be created (or edited) on `bioconda-recipes` that removes the recipe. A link to the CF `staged-recipes` Pull Request should be documented in the Pull Request text. ### conda-forge to Bioconda (CF-to-BC) Transfers -1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". The **conda-forge/bioconda-recipes** team can also be pinged for their input. -2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. The **conda-forge/bioconda-recipes** should be pinged to review. +1. An Issue should be created on the CF feedstock with the title "Move to Bioconda". [The **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes) can also be pinged for their input. +2. A Pull Request should be created on the `conda-forge/admin-requests` feedstock to label all previous builds of this feedstock with a `transferred-to-bioconda` label. It should also initiate a request from the Core team to archive the feedstock. [The **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes) should be pinged to review. 3. A Pull Request on BC's `bioconda-recipes` should be created to add the recipe there. A link to this Pull Request should be added to the above Issue and Pull Request. -4. Once a link is provided and a **conda-forge/bioconda-recipes** member has reviewed the Pull Request on `conda-forge/admin-requests`, **conda-forge/core** should proceed to review and merge. -5. The BC `bioconda-recipes` Pull Request can be merged after **conda-forge/bioconda-recipes** has approved the `conda-forge/admin-requests` Pull Request. +4. Once a link is provided and a [**conda-forge/bioconda-recipes**](https://github.com/bioconda/bioconda-recipes) member has reviewed the Pull Request on [`conda-forge/admin-requests`](https://github.com/conda-forge/admin-requests), **conda-forge/core** should proceed to review and merge. +5. The BC `bioconda-recipes` Pull Request can be merged after [the **conda-forge/bioconda-recipes** team](https://github.com/orgs/conda-forge/teams/bioconda-recipes) has approved the `conda-forge/admin-requests` Pull Request. + +### Expected Implementation + +1. An new option `cfep21_label` will be added to [`conda-forge/admin-requests`](https://github.com/conda-forge/admin-requests). +2. Once implemented, the following information will be added to the conda-forge Documentation: + - A section on BC-to-CF transfer will be added under "Maintainer Documentation > Contributing packages". + - A section on CF-to-BC transfer will be added under "Maintainer Documentation > Maintaining packages". + - A section on using the `label/transferred-to-bioconda` label to solve environments requiring the labelled artifacts will be added under "User Documentation > FAQ". ## Motivation -BC package builds use a `strict` channel priority with the channels `conda-forge > bioconda > defaults`. This creates a situation that when a package transfers from CF to BC that the presence of builds with `main` label in `conda-forge` masks the solver from considering builds in lower priority channel. This CFEP proposes to resolve this by moving `conda-forge` builds off the `main` label and onto a dedicated label. By using a dedicated label for this, we provide end-users with a means of re-enabling search of these older packages by explicitly specifying the label when solving. +BC package builds use a `strict` channel priority with the channels `conda-forge > bioconda > defaults`. This creates a situation that when a package transfers from CF to BC the presence of builds with `main` label in `conda-forge` masks the solver from considering builds in a lower priority channel. + +## Rationale + +This CFEP proposes to resolve CF-to-BC transfer issues by moving `conda-forge` builds off the `main` label and onto a dedicated label. This approach relies on a metadata update to hide the artifacts in `conda-forge` channel so that artifacts in `bioconda` channel become visible in `strict` channel priority. By using a dedicated label, end-users will also have a means of re-enabling search of these older packages by specifying the label when solving. + +## Alternatives + +Transferring artifacts (e.g., as in [CFEP-3](https://github.com/conda-forge/cfep/blob/main/cfep-03.md), followed by removal) would also solve the end-user issues. However, this would can be regarded as a more drastic change compared to a labeling approach. ## Other sections