From 0cebc1022dcf77407af2b9952e5e3ce665e71097 Mon Sep 17 00:00:00 2001 From: beckermr Date: Tue, 26 Nov 2024 06:45:24 -0600 Subject: [PATCH 1/2] doc: add guidance on testing downstreams with new noarch: python syntax --- docs/maintainer/knowledge_base.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/maintainer/knowledge_base.md b/docs/maintainer/knowledge_base.md index df9beb5708..9f1bf1f37a 100644 --- a/docs/maintainer/knowledge_base.md +++ b/docs/maintainer/knowledge_base.md @@ -1537,6 +1537,15 @@ python_min: If you go that route, you will need to [rerender the feedstock](../infrastructure/#conda-forge-admin-please-rerender) after adding the `conda_build_config.yaml` file. +Using `noarch: python` packages, with `python {{ python_min }}` pins in their `test.requires` section, as +`donstream` tests can cause failures for the `upstream` package if the Python version required for the test +conflicts with `upstream` package's Python version. There are two fixes, depending on what is more important. + +1. Constrain the `downstream` tests in the `upstream` package to only run on `python_min`. +2. Remove the `python_min` requirement from the `downstream` package's test requirements. + +More or less, you prefer the first solution when testing the `downstream` package on `python_min` is the most important thing. You prefer the second solution when testing all Python versions of the `upstream` package with the `downstream` package is the most important thing. + :::tip[Hint] Adding an explicit `python_min` to your `noarch: python` recipe can be an effective way to ensure the required From 25bbdcab54962836365795ba019f8ef71d7df7a2 Mon Sep 17 00:00:00 2001 From: "Matthew R. Becker" Date: Tue, 26 Nov 2024 06:54:41 -0600 Subject: [PATCH 2/2] Update docs/maintainer/knowledge_base.md --- docs/maintainer/knowledge_base.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/maintainer/knowledge_base.md b/docs/maintainer/knowledge_base.md index 9f1bf1f37a..4bea8d8cef 100644 --- a/docs/maintainer/knowledge_base.md +++ b/docs/maintainer/knowledge_base.md @@ -1538,7 +1538,7 @@ If you go that route, you will need to [rerender the feedstock](../infrastructur after adding the `conda_build_config.yaml` file. Using `noarch: python` packages, with `python {{ python_min }}` pins in their `test.requires` section, as -`donstream` tests can cause failures for the `upstream` package if the Python version required for the test +`downstream` tests can cause failures for the `upstream` package if the Python version required for the test conflicts with `upstream` package's Python version. There are two fixes, depending on what is more important. 1. Constrain the `downstream` tests in the `upstream` package to only run on `python_min`.