Giter Club home page Giter Club logo

vedantmgoyal9's Introduction

Nice to meet you! πŸ‘‹

Hi, I am Vedant πŸ˜ƒ

GitHub Sponsors GitHub User's stars GitHub followers

  • πŸ”­ I'm currently working on Windows Package Manager (WinGet).
  • 🌱 I'm currently learning Rust and Golang.
  • πŸ§‘β€πŸ€β€πŸ§‘ I'm looking to collaborate on interesting projects.
  • πŸ’¬ Talk to me about Science, Technology, and Engineering.
  • πŸ“¬ How to reach me: mention me in any comment.

Skills πŸ§‘β€πŸ’»

GitHub Stats πŸ“Š Streak Stats πŸ“†
GitHub stats GitHub Streak
Top Languages πŸ’» Badge board πŸ…
Top Langs

vedantmgoyal9's People

Contributors

deepsource-autofix[bot] avatar deepsource-io[bot] avatar dependabot[bot] avatar vedantmgoyal-bot[bot] avatar vedantmgoyal9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vedantmgoyal9's Issues

Bug: Call YamlCreate.ps1 script with Parameters

Describe the bug
Calling YamlCreate.ps1 script with parameters does not work properly. The way I tried to call the script can be seen in these commits (693189d, 5abe8c2) and the result can be in the logs of workflow runs #47, #48, #49.

Expected behavior
YamlCreate should get parameters and does not prompt for select mode, package identifier, etc...

Additional context
Add any other context about the problem here.

[New Package]: Appest.TickTick

List the PackageIdentifier of the package to be added to automation

Appest.TickTick

Details about the application

  1. Use $result.version to get and check the version
    https://pull.ticktick.com/windows/release_note.json
  2. Get the installer URL from download link, along with getting installer file
    If only the url is needed, you can use HEAD method for webrequest to avoid fetching full response.
    $webrequest = Invoke-WebRequest 'https://ticktick.com/static/getApp/download?type=win64'
    $installerurl = $webrequest.BaseResponse.RequestMessage.RequestUri.OriginalString

[New Package]: Tencent.Weiyun

List the PackageIdentifier of the package to be added to automation

Tencent.Weiyun

Details about the application

x64 version:
https://dldir1.qq.com/weiyun/electron-update/release/x64/latest.yml
Append the file name to https://dldir1.qq.com/weiyun/electron-update/release/x64/ to get the InstallerUrl.
e.g. https://dldir1.qq.com/weiyun/electron-update/release/x64/WeiyunApp-Setup-X64-5.2.1140.exe

x86 version:
https://dldir1.qq.com/weiyun/electron-update/release/win32/latest-win32.yml
Append the file name to https://dldir1.qq.com/weiyun/electron-update/release/win32/ to get the InstallerUrl.
e.g. https://dldir1.qq.com/weiyun/electron-update/release/win32/WeiyunApp-Setup-WIN32-5.2.1140.exe

[Potential Bug]: Tag names may not be sanitized for comparison

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

In the automation, the tag is being explicitly compared to see if it is greater than the previously checked tag to determine if an update is needed. However, it isn't guaranteed that the tag will be sanitized for the comparison.

Consider the example:

LastCheckedTag: v2.0.1
Tag: 3.0.0

Something as simple as a repository owner forgetting a character can lead to versions being missed. However, since the package could use result.tag_name.TrimStart('v') to get the version, there isn't a reason that it should be missed.

Potential Fix

Instead of the last checked tag, fetch and store the last checked release ID (result.id). Since this is autogenerated by github, it is should always be greater for newer releases. The tag can still be used to fetch the version number, but doesn't need to be stored

I know this won't work for the custom script packages and non-git packages, but there the version can be used instead still

[Bug]: product code is not being detected

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

While generating manifests, product code is not automatically detected from the installer.

[Feature/Idea]: Custom Check Interval for Packages

What would you like to see changed/added?

Summary

Some packages may not need to be checked for updates daily. It would be possible to have the runs be faster if not every package were checked every single time.

Idea

Add a LastCheckedTimestamp field and a CheckIntervalSeconds field to the json files. If the current timestamp is less than the last checked timestamp + the check interval, skip the package

[Feature/Idea]: New Package Script

What would you like to see changed/added?

I would suggest there be a script that runs any time a new package is added to automation. It can be triggered based on when a new .json file is created in the /packages folder

This script would fetch ALL the previous releases and attempt to add them to winget-pkgs. That way, as many versions of an application are available as possible

Bug: Many packages are not updated

Describe the bug
Because installer architecture and number of URLs mismatch, wingetcreate does not update many packages.

Expected behavior
All packages should be updated.

Additional context
Migrate from wingetcreate to YamlCreate.ps1 script because it has better options.

New Package: JetBrains.*

List the PackageIdentifier of packages to be added to automation

  • Add all JetBrains Products to automation.

Mentioning @jedieaston since he mostly updates JetBrains products.

[New Package]: Calibre Portable

List the PackageIdentifier of the package to be added to automation

calibre.calibre_portable

Details about the application

An easily transferrable version of the calibre application.

calibre is a powerful and easy to use e-book manager. Users say it’s outstanding and a must-have. It’ll allow you to do nearly everything and it takes things a step beyond normal e-book software. It’s also completely free and open source and great for both casual users and computer experts.

Add SourceForge packages

Well, I previously thought that I would update SourceForge packages using RSS feeds but since I have now found a better and easy way to update them, I would be adding them to the automation.

@Trenly Can you share the script with which you bulk-generated JSONs for GitHub packages? I think, by changing it a little, I can generate JSONs for packages updated via SourceForge.

Packages.json is not a sustainable method of automation

Description of issue

Using a file such as packages.json is not a sustainable method for passing in large numbers of packages. As the number of packages to update is likely to grow into the hundreds, a more sustainable solution should be used.

Proposed solution

Use the same manifest structure as winget-pkgs, having a json file for each individual package. You can then use Get-ChildItem -Recurse to fetch all of the packages. With this, you can then use a process block within your function to process the items in a more structured manner.

Another benefit of using individual json files for this would be that the script is more resilient against errors. If an error occurs while writing to the file, it won't effect other packages. It will also make it so that the script could be run for just a specific subset of packages

[Bug]: Remove `Microsoft.Git`, `Microsoft.GitCredentialManagerCore`, and `Microsoft.VFSforGit` from automation

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

My team owns and manages deployments for the Microsoft.Git, Microsoft.GitCredentialManagerCore, and Microsoft.VFSforGit. We would like these packages to be removed from this repo's packagest.txt, as we are currently in the process of transitioning to using microsoft/wingetcreate for automatically generating/submitting new manifests with the appropriate structure.

Some new things to be implemented [New Feature]

Describe the feature/enhancement you'd like

  • Support for auto-updating packages from SourceForge [DONE] - e.g. Freeplane
  • Support for auto-updating packages from RSS feeds.
  • Check if a PR has been opened before submitting Pull Request via automation [DONE] - Implemented in YamlCreate.ps1 Trenly/winget-pkgs#69

Proposed technical implementation details (optional)
Found a way, will be implementing soon.

Additional context
https://gist.github.com/OfficialEsco/599257140346fa4a79b36dc63bb20d61 (from https://github.com/vedantmgoyal2009/winget-pkgs-automation/issues/1#issuecomment-927286125)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.