Add custom-tap cask updater and workflow#45611
Conversation
Add a new CLI tool and GitHub Actions workflow to automatically bump casks under ee/maintained-apps/inputs/homebrew/custom-tap. The Go command (cmd/maintained-apps-custom-tap-updater) detects upstream versions for several apps (fleet-desktop, xcreds, druva-insync, zoom-rooms), downloads assets to compute sha256, updates the .rb and api/*.json files (version, url, sha256, pkg artifact filenames, ruby_source_checksum) and writes changes. The workflow (.github/workflows/update-custom-tap-casks.yml) runs on a schedule (every 4 hours) or manually, runs the updater, opens a PR with changes using a release PAT, and closes any prior automated PRs in favor of the new one.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #45611 +/- ##
==========================================
- Coverage 66.75% 66.66% -0.09%
==========================================
Files 2745 2744 -1
Lines 219361 219564 +203
Branches 10840 10796 -44
==========================================
- Hits 146438 146382 -56
- Misses 59695 59955 +260
+ Partials 13228 13227 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@claude review once |
Add a concurrency group to the update-custom-tap-casks workflow to control overlapping runs and set cancel-in-progress to false. Tighten the "Close Existing PRs" step so it only runs when an existing PR is found and a new pull-request-number was created. In the updater code, handle non-200 responses from the Zoom latest endpoint by logging a warning and aborting processing to avoid treating error responses as valid. Also add the compiled maintained-apps-custom-tap-updater binary.
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
Pull request overview
Adds an automated, scheduled mechanism to keep the custom Homebrew tap casks (fleet-desktop, xcreds, druva-insync, zoom-rooms) in ee/maintained-apps/inputs/homebrew/custom-tap/ in sync with their upstream versions. A new Go command performs the version checks, downloads the artifact to compute the sha256, and rewrites the .rb and api/*.json pair without requiring Homebrew (so it can run on Linux). A new GitHub Actions workflow runs the updater every 4 hours, opens a PR with the diff, and closes any prior open auto-PRs.
Changes:
- New
cmd/maintained-apps-custom-tap-updater/main.gowith per-app upstream checkers and rb/json patchers. - New scheduled workflow
.github/workflows/update-custom-tap-casks.ymlthat runs the updater and opens/closes PRs viapeter-evans/create-pull-requestandactions/github-script.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
cmd/maintained-apps-custom-tap-updater/main.go |
Implements the Linux-friendly cask updater: version checks, anchored rb rewrites, json round-trip, sha256 recompute. |
.github/workflows/update-custom-tap-casks.yml |
Scheduled GitHub Actions workflow that invokes the updater and manages the resulting PRs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
WalkthroughThis PR adds automated updates for Homebrew custom-tap cask versions. A new GitHub Actions workflow (runs every 4 hours and on manual trigger) orchestrates a Go command that checks upstream sources for each configured app ( Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/update-custom-tap-casks.yml:
- Around line 30-32: The workflow step named "Get current date and time" (id:
date) uses the deprecated set-output command; replace it by writing the output
key/value to the GITHUB_OUTPUT environment file instead: produce the timestamp
with date +'%y%m%d%H%M' and append a line like date=<timestamp> to the file
referenced by the GITHUB_OUTPUT environment variable so the step still exposes
an output named "date". Ensure the step keeps id: date and remove the deprecated
::set-output invocation.
- Around line 34-40: The checkout step using
actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 currently sets ref:
${{ github.head_ref }}, which is empty for schedule and workflow_dispatch runs;
update that ref to an explicit branch (e.g., ref: main) in the Checkout Fleet
step so scheduled and manual runs check out the correct code when creating PRs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: efaf7f52-8124-4682-b1b0-ddc822ab356f
📒 Files selected for processing (3)
.github/workflows/update-custom-tap-casks.ymlcmd/maintained-apps-custom-tap-updater/main.gomaintained-apps-custom-tap-updater
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This pull request introduces a new GitHub Actions workflow to automate the updating of custom Homebrew tap casks. The workflow is designed to periodically update cask versions, open a pull request with the changes, and manage any existing related pull requests to keep the repository up to date with minimal manual intervention.
Automation of custom-tap cask updates:
.github/workflows/update-custom-tap-casks.ymlthat runs every 4 hours and can also be triggered manually. This workflow checks out the repository, sets up Go, runs the cask updater, and creates a pull request with any changes.Pull request management:
Security and reliability improvements:
step-security/harden-runneraction to audit outbound network connections for improved security during workflow execution.Summary by CodeRabbit