blueOkiris / aip-man-pkg-list

The global package listing for Aip-Man
1 stars 1 forks source link

Update PR Automation #9

Open blueOkiris opened 1 year ago

blueOkiris commented 1 year ago

There are a lot of packages now, it's hard to keep track of updates.

I'd like to make a program that will go through each package here and see if there are versions. Python is probably a good choice for this as it has nice JSON parsing, but is still a script

By and large most of our packages come from stable links on GitHub, so maybe it could pull a list of releases for a project and change URL and version to match the latest release.

Some packages are continuous builds which we mark with dates and store a static link to in case upstream updates, in order to allow aip-man upgrade to function. Maybe the script could have a list of package names and their upstream url for those continuous packages, and when iterating over the package list, it could check the date of the latest upstream URL and tell us if our static link needs to be updated.

For the rest, it would simply report that it couldn't check.

Give a report formatted something like:

[Normal Packages]
- package-name:
    + new version: version
    + new url: https://agegageag
- package-name:
    + new version: version
    + new url: https://agegageag
...
[Continous Build Packages]
- package-name updated on <date>
    + Upstream url: https://link to continuous build stored in script
    + Current pkgs.json url: https://link currently in the repo
...
[Manual Check Required]
- package-name
- package-name
- package-name

So for normal packages, you'd update pkgs.json with the new version and url. For continuous builds, you'd have to update the package's static link, and then bump the version in pkgs.json. For the rest, you need to manually check the link like before.

This would decrease the amount of manual checking for updates.

Posting in an issue bc I can't get to it rn in case someone else can get to it before I have time.