Skip to content

docs: update to download plot per output#47

Open
dlaehnemann wants to merge 28 commits intobioconda:mainfrom
dlaehnemann:docs/update-to-download-plot-per-output
Open

docs: update to download plot per output#47
dlaehnemann wants to merge 28 commits intobioconda:mainfrom
dlaehnemann:docs/update-to-download-plot-per-output

Conversation

@dlaehnemann
Copy link
Member

This is intended as a follow-up to this problem that @aliciaaevans identified:
bioconda/bioconda-utils#1057 (review)

We have to ensure that download plots are generated per package (or output) in a multi-package recipe. I am unsure whether this change does it.

In addition, this PR fixes some indentation issues that messed up the rendering.

@dlaehnemann
Copy link
Member Author

Is there a way to easily test this PR? Or should I just do this via the CI here?

@aliciaaevans
Copy link
Contributor

This seems like it should work.

For testing, using the [build all recipes] commit message should do it, then you can download the docs artifact and open the openms-meta README.html. It looks like it takes <20 minutes to build, so that's probably the easiest option as long as you don't need to make lots of changes.

@dlaehnemann
Copy link
Member Author

Thank you so much for these great pointers, and all the great work on bioconda. This is very much appreciated!

@dlaehnemann
Copy link
Member Author

OK, that turned out trickier than I thought. I also fixed a bunch of extra stuff along the way. Here's a summary:

  1. I realized that the rendering of stats plots wasn't working for multi-output recipes so far. For example, openms-meta is currently not displaying any statistics plots, snakemake is only showing it for the snakemake-minimal output. So the pull request fixes that:
    It inlines the package_dashboard.html file so that we can: (i) generate all the stats plots for all package outputs in one window.onload function, while (ii) creating the exact script section with a for-loop that uses jinja templating syntax to paste in all the package outputs' names in the right spots.

  2. In addition, I already aligned the creation of the package name list to include only either the main recipe name (if only one package is built) or the package names under outputs:. This is what will be enforced in the future, and what the linter will ensure with the respective recent update to bioconda-utils. But this also means we should keep this as a draft until we have updated all the 6 bioconda recipes that already have an outputs: section, accordingly. Otherwise, this might omit their main package output from the docs.

  3. Then, I corrected and added some info on how to build the docs locally, as I needed that for quicker debugging. The environment needed some extra packages installed, and the option to use a regex (or simply a package name) wasn't documented in the main README.md.

  4. I tried to get the [build all recipes] trick to work on the pull request, but it simply doesn't. I think the only way to get this working, would be something like the approach for getting the last commit message in a pull request that is documented here:
    https://github.com/orgs/community/discussions/28474#discussioncomment-3350256
    However, that actually looks like a lot of shenanigans to just make this one thing work. So I'll leave this to a separate pull request and for others to do, if there is interest in this.

@dlaehnemann dlaehnemann marked this pull request as draft January 26, 2026 10:44
@dlaehnemann
Copy link
Member Author

Just thought about when to merge this further. I think we should get this reviewed and ready to be merged. As updating the recipes accordingly will depend on the responsiveness of the respective recipe authors, we might just merge this at some point, to get the updated recipes to render correctly. Also, this wasn't really working for all recipes as is...

@aliciaaevans, could you have another more detailed look?

I tested this locally, by building docs of different package types: (i) no outputs: section, (ii) outputs: section with main package built, (iii) outputs: section with only outputs: packages built. Only case (ii) will not work properly with the new version, as it will not list the main package. But this type of recipe will not exist after the update of all the 6 remaining recipes.

@dlaehnemann dlaehnemann marked this pull request as ready for review January 26, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants