Skip to content

Improving brew livecheck and autobump #19203

Open
@nandahkrishna

Description

@nandahkrishna

Verification

Provide a detailed description of the proposed feature

  • For synced–version packages, check the JSON and loop over all these packages to simultaneously bump them – @bevanjkay
  • Livecheck: adding POST requests with parameters – @samford
  • Livecheck for resources: PyPI, RubyGems, etc. formulae should have livecheck return the right dependency versions instead of the latest – @nandahkrishna
    • Add strategies or utils/rubygems.rb like utils/pypi.rb specific to resource-handling
    • Add livecheck blocks to resources in homebrew-core wherever required
  • GitHub pre-releases: policy to change livecheck strategy to :github_latest (perhaps upon asking upstream), especially for autobumped formulae – allows us to be cautious
    • How do we avoid rate limit issues? – sharding autobump.txt, GitHub App v/s PAT rate limit, separate token for livecheck?

People involved: @chenrui333 @bevanjkay @Moisan @nandahkrishna @samford

What is the motivation for the feature?

Improving livecheck means improving autobump, which means more automated PRs for version bumps and more happy maintainers, who have more time to work on non-trivial feature implementations.

Instituting a clear policy for :github_latest means that maintainers can stop checking the upstream repository if the newest tag is marked as latest. While this would mean having to check if upstream has stopped marking tags as latest, these checks are easy to automate and the policy means we err on the side of caution, instead of bumping to versions that could be retagged/experimental.

How will the feature be relevant to at least 90% of Homebrew users?

Yes, they get reliable package updates as early as possible, and maintainers have time to deal with more pressing issues than trivial version bumps.

What alternatives to the feature have been considered?

Each of these action items represents a separate feature, some of which have alternatives listed, while others are straightforward.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featuresNew featureshelp wantedWe want help addressing this

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions