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

aerial@beta: update livecheck #193464

Merged
merged 1 commit into from
Nov 27, 2024
Merged

aerial@beta: update livecheck #193464

merged 1 commit into from
Nov 27, 2024

Conversation

samford
Copy link
Member

@samford samford commented Nov 27, 2024

Important: Do not tick a checkbox if you haven’t performed its action. Honesty is indispensable for a smooth review process.

In the following questions <cask> is the token of the cask you're submitting.

After making any changes to a cask, existing or new, verify:

Additionally, if adding a new cask:

  • Named the cask according to the token reference.
  • Checked the cask was not already refused (add your cask's name to the end of the search field).
  • brew audit --cask --new <cask> worked successfully.
  • HOMEBREW_NO_INSTALL_FROM_API=1 brew install --cask <cask> worked successfully.
  • brew uninstall --cask <cask> worked successfully.

The existing livecheck block for aerial@beta checks the releases page, searching for only pre-release releases and matching beta versions. This is an older livecheck block that hasn't been updated to use GithubReleases, so this updates it accordingly.

This also makes the beta suffix optional, so this will surface stable versions in addition to beta versions, like some other casks for unstable versions. Users can't have both the aerial and aerial@beta casks installed (since they conflict), so this ensures that users don't get stuck on an older unstable version when a newer stable version is available.

The existing `livecheck` block for `aerial@beta` checks the releases
page, searching for only pre-release releases and matching beta
versions. This is an older `livecheck` block that hasn't been updated
to use `GithubReleases`, so this updates it accordingly.

This also makes the beta suffix optional, so this will surface stable
versions in addition to beta versions, like some other casks for
unstable versions.
@samford samford added the livecheck Issues or PRs related to livecheck label Nov 27, 2024
@khipp
Copy link
Member

khipp commented Nov 27, 2024

It makes sense that the cask should be able to update to the latest stable and pre-release versions. However, if I'm not mistaken, this currently results in an audit failure because the cask is whitelisted in audit_exceptions/github_prerelease_allowlist.json. Would it make sense to relax the audit in general, so that it only fails if casks not on the list are bumped to an unstable version?

@khipp khipp merged commit 048862d into master Nov 27, 2024
11 checks passed
@khipp khipp deleted the aerial-beta-update-livecheck branch November 27, 2024 21:15
@samford
Copy link
Member Author

samford commented Nov 27, 2024

if I'm not mistaken, this currently results in an audit failure because the cask is whitelisted in audit_exceptions/github_prerelease_allowlist.json

Oh yeah, that's right. There was some previous discussion around this issue where some of us felt that the behavior of all was unexpected. all suggests to me that prerelease versions are allowed in addition to stable versions (which are already allowed by default) but that's not what it does.

If I remember correctly, a cask has to be removed from the allowlist if it's updated to a stable version, as it will fail the audit. To my understanding, this was intended as a way of ensuring that the cask is removed from the allowlist if it was only using unstable versions until a stable version was released. However, that doesn't work for casks that are created for unstable releases but can also update to a stable release (as here).

Unfortunately, we didn't end up with a consensus and that discussion/PR stalled. Just from my perspective, I think how all works should be updated to behave predictably (allowing both stable and prerelease versions) and the situation where a cask is using unstable versions until a stable version is released should be handled in a different way (I suggested a new until-stable allowlist value, which would work how all currently does, so the cask is removed from the allowlist when it's updated to a stable version).

This is something that we need to address but no one has picked up the torch yet (I have enough in-progress brew work that I'm trying to create PRs for 😆).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
livecheck Issues or PRs related to livecheck
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants