Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added out-of-date package reports to github templates #100482

Merged
merged 3 commits into from Nov 18, 2020

Conversation

Narice
Copy link
Contributor

@Narice Narice commented Oct 14, 2020

Motivation for this change

There are a lot of outdated packages on nix, and no easy way to report them.
This added template will also help categorizing issues related to out of date packages for maintainers to take care of.
Furthermore, for new contributors, updating an out-of-date package is way easier than creating a new package.
Adding a pinned issue on updating out-of-date packages could also be a very good idea. something like ZERO hydra failures 20.09 which provides as well video tutorials on how to do the job.
This could be a very good first issue for everyone that wants to contribute to Nix.

Things done

This is not a package

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@wamserma
Copy link
Member

This is similar to what can be done in AUR and I like the idea.
We should add a checklist for the reporter to ensure that the reporter checked against a reasonably current nixpkgs (unstable) and maybe triage this against backporting requests.
We should also require the name as given by nix search so this can be funnelled to r-ryantm with the issue reporter assigned as reviewer for the created PR.

@Narice
Copy link
Contributor Author

Narice commented Oct 21, 2020

Hello, sorry for the late response, I'm happy that you like it!
And thanks for your suggestions!

I'm going to add a "nix search name:" line under the "project name" section, add a checkbox for verifying that the issuer checks the master branch of the github repo to avoid situations where the package is already being treated by hydra but is not at completion.
the user should also check the opened pull requests of the github repo, I'm going to do some markdown comment trickery to incentivize the user to review the pull request that he might have found.
I'm also going to drop a comment for the reviewer under the notify maintaner part to make them aware that the issue reporter should be the pull request reviewer.

Btw, I don't really know who r-ryantm is. Do I have to do something special for the "funnelled to r-ryantm" part to happen?
Also, can the "issue reporter assigned as reviewer for the created PR" part be automatized?

@Narice
Copy link
Contributor Author

Narice commented Oct 21, 2020

As this is an issue template targeted at beginner nixos users, I tried to make it as beginner friendly and comprehensive as possible.
I hope I succeeded ;)

You can use the "Go to file" functionality on github to find the package
Then you can go to the history for this package
Find the latest "package_name: old_version -> new_version" commit
The "new_version" is the the current version of the package
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this is mostly correct, people should really look into the .nix file and look for version= .
But the first check should actually be on https://search.nixos.org/packages?channel=unstable as the versions there should be up-to-date with nixpkgs (at most few days behind, when there is something seriously broken).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! I took as an example pharo.
It has no version on the search website and the version for the pharo launcher is a date and (I don't think, I'm going to check tommorow) not an official version number like 5, 6 etc like on the actual commit.

Also, for a package like discord, having the wrong version means having no discord app for a few hours. If the PR of the new version of discord is added fast as it should be, an out-of-date issue will more than surely be raised if the person doesn't check the master branch even if hydra takes two or less hours.

I thought taking the path where there is less risk of raising issues might be better, however I understand the fact that it's way easier to check the version number for the package on the site :/

It would be good if we could search the master branch on the site, it would be really usefull. If this were the case, I would a 100% use this method.

Such a feature could also actually be pretty good outside of this issue. Should I make another issue on this subject?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just checked and yes, the current version of the pharo-launcher is 2.2.
It's not written in a date format unfortunately

.github/ISSUE_TEMPLATE/out_of_date_package_report.md Outdated Show resolved Hide resolved
@wamserma
Copy link
Member

Btw, I don't really know who r-ryantm is. Do I have to do something special for the "funnelled to r-ryantm" part to happen?
Also, can the "issue reporter assigned as reviewer for the created PR" part be automatized?

r-ryantm is the friendly update bot that autmagically generates PRs to update packages.

Pinging a few people who can better help you here: @zimbatm @worldofpeace @cole-h @ryantm

@AndersonTorres
Copy link
Member

We have something like a "request for new packages" badge. Can it be expandex/extended for this case too?

Also, I would recommend a pointer to Repology about the status of those packages.

@ryantm
Copy link
Member

ryantm commented Oct 22, 2020

@Narice @wamserma
@r-ryantm is my bot that makes PRs against nixpkgs based on information from Github releases, Repology, and Pypi. It tries to update lots of things but it doesn't always succeed. You can look at the logs at https://r.ryantm.com/log/ to see why it is failing to update things. The code for the bot is at https://github.com/ryantm/nixpkgs-update

Changed the label to '9.needs: package (update)'
Removed trailing spaces
Modified formulation of a sentence
Copy link
Member

@ryantm ryantm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me now, but I think we should have at least one more committer approve this, since it is an important change. Maybe @jtojnar can look again?

@jtojnar
Copy link
Contributor

jtojnar commented Oct 22, 2020

Hmm, I am thinking we could add report outdated link to nixos package search, that would use this template with correct values of maintainers pre-filled.

@wamserma
Copy link
Member

Hmm, I am thinking we could add report outdated link to nixos package search, that would use this template with correct values of maintainers pre-filled.

Like on AUR? That would be a very good idea.

@jtojnar
Copy link
Contributor

jtojnar commented Oct 22, 2020

We can pre-fill the issue text using URL parameters: isaacs/github#99 (comment)

We could add links to https://github.com/NixOS/nixos-search

@Narice
Copy link
Contributor Author

Narice commented Oct 23, 2020

Yes this is indeed a very good idea!
Can someone post an issue without having a github account or will it be mandatory for users to have one?

@Narice
Copy link
Contributor Author

Narice commented Oct 23, 2020

Oh wow, the site is in Elm, I love it, I can work on it without any problems!
I don't know the codebase so it will take a bit of time but I can do it ;)

@Narice
Copy link
Contributor Author

Narice commented Oct 23, 2020

Ok I found where to do the modification and it seems to be quite an easy one as well.
I will try making a PR on the search site tommorow as I might not have enough time today.
I will ping this PR when doing so.

@jtojnar I have some questions about the pre-filling of issues using urls:
Is there more documentation on using urls for making prefilled issues?
Would it be possible to use the template and fill it?
Would it be possible to assign a label automatically when using a url?

EDIT:
I spoke a bit too fast and found unofficial documentation here:
https://eric.blog/2016/01/08/prefilling-github-issues/
The answer to all the above questions is "yes"
https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=9.needs%3A+package+(update)&template=out_of_date_package_report.md&title=Package%20out%20of%20date
This would work. I can assign automatically someone to it, do you want me to assign r-ryantm @ryantm or will it be done automatically?
Also, I would need this PR to be merge to make the other PR on the search site.

@ryantm
Copy link
Member

ryantm commented Oct 23, 2020

No need to assign the bot or me to it. If this starts being a good source of update info we can try wiring it in though!

@Narice
Copy link
Contributor Author

Narice commented Oct 23, 2020

Ok thanks for your response!

@Narice
Copy link
Contributor Author

Narice commented Nov 13, 2020

Hello! sorry for the delay, I had a lot of personal work.
Here is my research so far:
You have to use templates, else, the tag will not be set except if the person making the issue has the priviledge to do so.
You cannot use templates and the body prefilling else it will erase the body and replace it:
The title can be changed without any problems while using templates.
The body can be generated following the template and prefilled, but it will be a very long url and if the github template is changed, the change should be reflected on the website's code and vise-versa...
I could maintain that however.
Furthermore, this is maybe a conversation that should be on the website issue board instead of here as it doesn't impact this PR.
@jtojnar could you review this PR and tell me if I have something to modify or approve it?

@ryantm
Copy link
Member

ryantm commented Nov 18, 2020

This looks good to me. I'm going to merge it. We can always nit pick it more later.

@ryantm ryantm merged commit cb0908a into NixOS:master Nov 18, 2020
@Narice
Copy link
Contributor Author

Narice commented Nov 20, 2020

Thank you!
I'll try to work on the website now :P

@Narice Narice deleted the report-out-of-date-packages branch November 20, 2020 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants