renovatebot / renovate

Home of the Renovate CLI: Cross-platform Dependency Automation by Mend.io
https://mend.io/renovate
GNU Affero General Public License v3.0
17.19k stars 2.25k forks source link

Renovate documentation - Link relevant bugs and issues to package managers’ documentation #15546

Closed betterPeleg closed 2 years ago

betterPeleg commented 2 years ago

What would you like Renovate to be able to do?

In the documentation of the Renovate supported package managers, I would like to add all related current open issues, both bugs and feature requests.

This will provide 2 main benefits:

If you have any ideas on how this should be implemented, please tell us here.

Go over GitHub’s issues list and filter them based on labels:

image

Add an automatically updated segment in the documentation package manager web page that will list:

image

Is this a feature you are interested in implementing yourself?

No

betterPeleg commented 2 years ago

open questions:

implementation suggestions:

HonkingGoose commented 2 years ago

This issue is similar:

I think we should just give our readers a query string to a search on GitHub. ^quote

Example table

It sounds like you want something like this:

Table of open issues for manager:gradle:

Issue Priority Status
#15044 priority-4-low status:ready

Pre-filled query strings

Creating and maintaining the code to fetch the list of open issues and to create the table in the docs sounds like a lot of work. 😄

How about we give the reader a link to a pre-filled query on GitHub, like this:

## List of open bugs for Maven package manager

Find [open and confirmed bugs for `manager:maven` on GitHub](https://github.com/renovatebot/renovate/issues?q=type%3Aissue+is%3Aopen+label%3Atype%3Abug+-label%3Apriority-5-triage+label%3Amanager%3Amaven).

To try this out yourself copy and paste type:issue is:open label:type:bug -label:priority-5-triage label:manager:maven into the GitHub issue screen on the renovatebot/renovate repository.

Here's how it works:

  1. Only display issues, don't show PRs with type:issue
  2. Only display open issues with is:open
  3. Only show issues labeled as bug with label:type:bug
  4. Exclude priority-5-triage label by putting a - sign before the label: query, like this: -label:priority-5-triage
  5. Only display issues with the label manager:maven with label:manager:maven

References

rarkins commented 2 years ago

I think it's worth the effort in this case

betterPeleg commented 2 years ago

I think there is also value in presenting the feature requests, and not only bugs (as @HonkingGoose suggested). this will inform users of specific capabilities that we still do not support (but might be in the pipeline) and may also prevent duplication of GitHub issues.

I would suggest simple indicators for the bug/feature list:

Screen Shot 2022-05-16 at 12 21 09

Is there more important information you think should appear in the list?

rarkins commented 2 years ago

I think show both. Either group them into two separate lists or show the labels like you suggest if they're in a combined list

betterPeleg commented 2 years ago

my suggestion is separating them into two lists: Screen Shot 2022-05-19 at 13 34 37

rarkins commented 2 years ago

Keep the heading shorter for each, and make sure to clarify that the lists were built at the time of release and may have changed since.

RahulGautamSingh commented 2 years ago

Hey @rarkins Can I work on this one?

rarkins commented 2 years ago

@betterPeleg do you know if anyone else started this yet but forgot to self assign it?

betterPeleg commented 2 years ago

yes, Gabriel is assigned to it already

Gabriel-Ladzaretti commented 2 years ago

Below is the autogenerated doc for npm: few questions:

  1. I'm hitting a rate limiter (two queries per manager) as im using the GH api to get the issue list. will we have this issue when building the docs?

  2. repo:renovatebot/renovate type:issue is:open label:type:${ty} -label:priority-5-triage label:manager:${manager} is the query im using, any refinements? we are also getting some really old ones

  3. Currently im limiting the query result with per_page=30, is this enough/too much? (npm for context has 21 feat, 7 bugs)

  4. When we get an empty query response, do we omit the list all together or should we print out "None" or similar ?

    title: Automated Dependency Updates for Npm sidebar_label: Npm

    Renovate supports updating Npm dependencies.

File Matching

By default, Renovate will check any files matching the following regular expression: (^|/)package.json$.

For details on how to extend a manager's fileMatch value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: github-tags, npm.

Additional Information

The following depTypes are currently supported by the npm manager :

Known open bugs

Open feature requests

rarkins commented 2 years ago

Below is the autogenerated doc for npm: few questions:

  1. I'm hitting a rate limiter (two queries per manager) as im using the GH api to get the issue list. will we have this issue when building the docs?
  2. repo:renovatebot/renovate type:issue is:open label:type:${ty} -label:priority-5-triage label:manager:${manager} is the query im using, any refinements? we are also getting some really old ones

You should remove the label:manager label:type filters and instead do this:

  1. Fetch all non-triage issues once
  2. For each manager, perform client-side filtering to extract its relevant features and issues using the same list you fetched once at the start
  1. Currently im limiting the query result with per_page=30, is this enough/too much? (npm for context has 21 feat, 7 bugs)

It's still one API call whether you use the default 30 per page or the maximum 100. Use 100

  1. When we get an empty query response, do we omit the list all together or should we print out "None" or similar ?

We can probably omit the heading/section altogether for managers with no results

rarkins commented 2 years ago

Use "Open bug reports" instead of "Known open bugs"

viceice commented 2 years ago

on CI we can use GitHub token to raise request limits

betterPeleg commented 2 years ago
  1. maybe we should show only first 3 or so (of both bugs and features) and the rest will be collapsed. even though all open issues should appear.
  2. we need to add - "Updated to the latest Renovate release date (version number)". Im just thinking wether in the title of both "Open bug reports" and "open feature requests" or as a note in the bottom

@rarkins

HonkingGoose commented 2 years ago

Collapsible admonition

  1. maybe we should show only first 3 or so (of both bugs and features) and the rest will be collapsed. even though all open issues should appear.

How about using this Markdown to get a collapsible admonition in our docs:

<!-- prettier-ignore -->
??? note "Click me to see the list of open issues"

    - Support `node_modules` that live in source control [#13926](#)
    - Handle more complex yarn resolutions [#13926](#)
    - Support npmv7 (lock file v2) for transitiveRemediation [#13926](#)
    - Detect if npm package file is nodejs-only [#13926](#)

collapsible-admonition-mkdocs-material

You can click on the arrow to expand/collapse the section.

Change mkdocs.yml config first

Before we use this in production we must first edit the mkdocs.yml file so it uses the pymdownx.details plugin that's bundled with Material for MkDocs. [^docs]

  # The Details extension supercharges the Admonition extension, making the resulting call-outs collapsible, allowing them to be opened and closed by the user.
  # We're using this to enable collapsible admonition blocks for the list of bug reports and feature requests per manager.
  - pymdownx.details

[^docs]: Material for MkDocs documentation, Details

Gabriel-Ladzaretti commented 2 years ago

Currently im limiting the query result with per_page=30, is this enough/too much? (npm for context has 21 feat, 7 bugs)

It's still one API call whether you use the default 30 per page or the maximum 100. Use 100

Actually i meant to ask if a list of 30 max is too much to have in the docs. As suggested, a collapsible list would be beneficial here

HonkingGoose commented 2 years ago

Actually i meant to ask if a list of 30 max is too much to have in the docs.

We should show a complete list if we can. It gets confusing if we show a partial list. We can hide the full list behind the toggle, so it's not showing all lists items for all managers at once. 😉

If we can't show the a complete list then we should say so:

  • list item 99
  • list item 100, end of first API call

Note: there are more items on the list, but we can't show them.

Gabriel-Ladzaretti commented 2 years ago

showing all is not a problem, we have 752 all in all before filtering so 8 api calls will do. A collapsible list would be a nice touch so the data wont be very noisy.

viceice commented 2 years ago
renovate-release commented 2 years ago

:tada: This issue has been resolved in version 32.79.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

renovate-release commented 2 years ago

:tada: This issue has been resolved in version 32.82.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: