fix!: also find tests under outputs, ensure all outputs have tests, ensure outputs names are different from package name#1057
Conversation
|
Thanks @dlaehnemann! Can you add a test case for this? |
|
Will do, thanks for the detailed pointers! |
|
OK, good thing you asked for a test here, because obviously, it's complicated. The latest commit makes this work for Long story short:
So I think the way forward for And are there any plans for And here's where the spec lives as a JSON schema: |
|
And maybe regarding the direct way forward with this pull request, I would like to know if there is agreement to work towards the future If so, I would adjust this pull request with a suggestion of a more general way to ensure compatibility with both via stricter linting. And I would then do a follow-up pull request to update all the recipes that already use |
|
@dlaehnemann thanks for this investigation! Regarding plans to switch to |
|
I just came across this older investigation of mine, and I think it is still valid and the changes needed. I updated the pull request according to the latest discussion here and this is now ready for review. @daler , would you have time to have a look? |
|
Just pinging @daler for an update, here. Or maybe @aliciaaevans could also provide a review? |
|
@dlaehnemann I'm taking a look, but need to dig through some of the links you provided to fully wrap my head around this. I guess the main concern is any implications updating the existing recipes that use |
|
Thanks for having a look, and yes, that is what I would expect from the changes made here and the requirements of CEP14. And looking at it, I just realized that one of the hits in the search is just an |
|
Just another ping @aliciaaevans , so this doesn't slip off the radar. And is there anything else I can do to help, to move this along? |
aliciaaevans
left a comment
There was a problem hiding this comment.
Please try to get acknowledgement/approval from recipe maintainers when you do the updates. If there's an issue, since this is just a lint, it could be overridden in a recipe if there's a problem. @johanneskoester may have an insight since Snakemake is one of the packages using the outputs section. But I think as long as the end result packages in the channel stay the same, it's ok to update the recipe as needed. Looks like openms already had this done.
There is an existing issue I can see on https://bioconda.github.io/recipes/openms-meta/README.html that the plots showing downloads don't work because they are based on the recipe name. So that needs to be fixed at some point.
|
Yes, my plan was to do one PR per recipe and ping in the maintainers, as they should know best. Good catch with the download stats plot. I'll have a look if I can also fix that while we are at this. I worry I'll otherwise forget soon enough. |
🤖 I have created a release *beep* *boop* --- ## [4.0.0](v3.9.2...v4.0.0) (2026-02-11) ### ⚠ BREAKING CHANGES * also find tests under outputs, ensure all outputs have tests, ensure outputs names are different from package name ([#1057](#1057)) ### Bug Fixes * also find tests under outputs, ensure all outputs have tests, ensure outputs names are different from package name ([#1057](#1057)) ([dd17aa7](dd17aa7)) * update actions ([#1076](#1076)) ([e301b5c](e301b5c)) * Update anaconda-client version to 1.14.* ([#1075](#1075)) ([0bdd2a9](0bdd2a9)), closes [#1074](#1074) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This pull request is basically `git cherry-picking` all the previous work in pull request #1073 , as that one's diff has gotten too confusing with a failed `rebase --onto master` attempt (I realized too late, that I am working on a fork, here...). In addition, this pull request is a bit more generic, trying to get a consistent linting and comprehensive linting tests for recipes with multiple outputs in general. The aim is to work towards supporting the new `rattler-build` driven `recipe.yaml` format that has been accepted as Conda Enhancement Proposals (CEPs) 13 and 14, by implementing [the `outputs:` specification](https://conda.org/learn/ceps/cep-0014/#outputs-section) in the linting over here. So, this is a fresh start after the overhaul of the linting test suite setup in #1085 has been merged. And to also link more previous work, this is the follow-up to pull request #1057, which did a first step towards better linting of multiple outputs. Please note, that this will require updating all of the 7 recipes with multiple outputs so that they pass the new lints, also see here: #1057 (comment) The plan is to open a separate pull request for each of them on `bioconda-recipes`. --------- Co-authored-by: Elmar Pruesse <epruesse@users.noreply.github.com>
This pull request is motivated by trying to add a subpackage to an existing package and trying to get the syntax right:
bioconda/bioconda-recipes#58141
I think I have to add both the main and the subpackage under an
outputs:section, and the linter then complains that it doesn't find any globaltest:section. So this PR makes the linter go through each subpackage if anoutputs:section exists, and checks whether all of them have a validtest:section specified.