Constly cask: add livecheck and tap CI - #2
Merged
Merged
Conversation
livecheck reads the version from downloads.constly.com/latest.json so brew livecheck, brew bump-cask-pr and the online audit work. The tests workflow runs brew test-bot tap-syntax on push, pull request and a weekly schedule. Developer mode is on under brew audit, so a Homebrew deprecation fails the run instead of surfacing as a warning on users' machines.
… online audit weekly The JSON strategy block now runs the version through a regex, so a pre-release such as 4.8.0-beta.1 is ignored, a v prefix is stripped, and a non-string value yields no version instead of raising. The workflow sets HOMEBREW_DEVELOPER so any audit step fails on deprecations, checks that setup-homebrew detected the tap, and runs the online cask audit and livecheck on the weekly schedule, since test-bot's tap-syntax audit is offline.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two follow-ups to #1.
livecheck. The cask had no
livecheckblock, sobrew audit --onlinefailed with "Version '4.7.1' differs from '' retrieved by livecheck", andbrew livecheckandbrew bump-cask-prwere unusable. The release feed atdownloads.constly.com/latest.jsonalready publishes the version, so the block reads it with the JSON strategy. The value goes through a regex, so a pre-release such as4.8.0-beta.1is ignored rather than proposed as a bump, avprefix is stripped, and a non-string value yields no version instead of raising.brew livecheck --cask runthewall/tap/constlyreports 4.7.1, andHOMEBREW_DEVELOPER=1 brew audit --cask --online --strictpasses.CI. The tap had no workflow. The
verified:parameter that #1 removed shipped in two cask bumps after Homebrew had started rejecting it inbrew audit, and nobody noticed until the user-facing warning in 7.0. This adds thebrew tap-newtests workflow, trimmed to the tap-syntax job on macOS since the tap only has a cask. It runs on push to main, on pull requests, and weekly.Deprecations fail the run because
HOMEBREW_DEVELOPERis set; test-bot sets it internally, and the workflow pins it at workflow level so a plainbrew auditstep behaves the same way. The tap-syntax audit is offline, so the weekly run also does the online cask audit and a real livecheck against latest.json. Once latest.json advertises a version newer than the cask, that weekly run fails with "Version 4.7.1 differs from ..." until the cask is bumped. That failure email means "bump the cask", not that something broke. The job checks that setup-homebrew detected the tap name, so a repo rename cannot silently audit homebrew/core instead. A dependabot config keeps the pinned action SHAs current.Two things this does not do, for follow-up: main has no branch protection, so a direct push still reaches users before the check reports; and GitHub disables the schedule on a public repo after 60 days without commits, so the weekly canary needs a commit or a manual re-enable between releases.
Version, checksums and artifacts are unchanged.