From 3e1af8ae6444361af0a936986a079f0fb2f6a74a Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 19 Nov 2023 16:54:54 -0500 Subject: [PATCH] eloston-chromium: update livecheck --- Casks/e/eloston-chromium.rb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Casks/e/eloston-chromium.rb b/Casks/e/eloston-chromium.rb index cf451d2e7a..203e2dd72d 100644 --- a/Casks/e/eloston-chromium.rb +++ b/Casks/e/eloston-chromium.rb @@ -16,12 +16,19 @@ cask "eloston-chromium" do desc "Google Chromium, sans integration with Google" homepage "https://ungoogled-software.github.io/ungoogled-chromium-binaries/" + # Releases are separated by architecture, so we have to check multiple recent + # releases instead of only the "latest" release. livecheck do - url "https://github.com/ungoogled-software/ungoogled-chromium-macos/releases?q=prerelease%3Afalse" - regex(%r{href=["']?[^"' >]*?/tree/v?(\d+(?:[.-]\d+)+)(?:[._-]#{arch})?(?:[._-]+?(\d+(?:\.\d+)*))?["' >]}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - (match.length > 1) ? "#{match[0]},#{match[1]}" : match[0] + url :url + regex(/^v?(\d+(?:[.-]\d+)+)(?:[._-]#{arch})?(?:[._-]+?(\d+(?:\.\d+)*))?$/i) + strategy :github_releases do |json, regex| + json.map do |release| + next if release["draft"] || release["prerelease"] + + match = release["tag_name"]&.match(regex) + next if match.blank? + + (match.length >= 2) ? "#{match[1]},#{match[2]}" : match[1] end end end