Skip to content

nyg/homebrew-jmxsh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

homebrew-jmxsh

Homebrew tap for jmxsh — an interactive command-line JMX client for monitoring and managing Java applications.

Website: jmx.sh

Installation

brew install nyg/jmxsh/jmxsh

Or tap first, then install:

brew tap nyg/jmxsh
brew install jmxsh

Or in a Brewfile:

tap "nyg/jmxsh"
brew "jmxsh"

Usage

Once installed, run jmxsh to start the interactive shell. See the upstream documentation for the full command reference.

Automated Formula Updates

When a new release is published in nyg/jmxsh, the formula in this tap is updated and published automatically — no manual steps required.

Pipeline overview

sequenceDiagram
    participant U as nyg/jmxsh
    participant D as repository_dispatch
    participant UF as update-formula.yml
    participant PR as Pull Request
    participant TB as tests.yml
    participant AL as auto-pr-pull.yml
    participant PB as publish.yml
    participant M as master

    U->>D: Release published
    D->>UF: update-formula event
    UF->>UF: Download JAR, compute SHA256
    UF->>PR: Create PR (update formula)
    PR->>TB: pull_request event
    TB->>TB: Build bottles (macOS Intel,<br/>macOS ARM, Linux)
    TB-->>PR: Upload bottle artifacts
    TB->>AL: workflow_run completed
    AL->>PR: Apply pr-pull label
    PR->>PB: pull_request_target labeled
    PB->>PB: Download bottles, upload<br/>to GitHub Release
    PB->>PB: Cherry-pick PR commit,<br/>add bottle annotations
    PB->>PR: Force-push bottle commit<br/>to PR branch
    PB->>M: Squash-merge PR
    PB->>PR: Delete branch
Loading

Step-by-step

  1. Trigger — A release in nyg/jmxsh sends a repository_dispatch event to this repository with the new version, JAR URL, and Java version.

  2. Update formula (update-formula.yml) — Downloads the JAR, computes its SHA256, updates the formula's url, sha256, and optionally depends_on fields, then opens a PR on a branch named update-jmxsh-<version>.

  3. Test (tests.yml) — Runs brew test-bot on three platforms (macOS Intel, macOS ARM, Linux). Builds bottles and uploads them as workflow artifacts.

  4. Auto-label (auto-pr-pull.yml) — Triggered when tests.yml completes successfully on an update-jmxsh-* branch. Applies the pr-pull label to the PR. Uses HOMEBREW_TAP_TOKEN so the label event triggers the next workflow (events from GITHUB_TOKEN don't trigger downstream workflows).

  5. Publish (publish.yml) — Triggered by the pr-pull label. Runs brew pr-pull which downloads bottle artifacts, uploads the bottle tarballs to a GitHub Release, cherry-picks the PR commit, and amends it with a bottle block. The bottle-annotated commit is then force-pushed back to the PR branch and squash-merged into master via the GitHub API.

About

Homebrew tap for nyg/jmxsh

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages