Skip to content

Add Homebrew support: release workflow, tap bump, and server script lookup - #893

Closed
MrSkwiggs wants to merge 1 commit into
mainfrom
claude/project-thread-hl28uw
Closed

MrSkwiggs wants to merge 1 commit into
mainfrom
claude/project-thread-hl28uw

Conversation

@MrSkwiggs

@MrSkwiggs MrSkwiggs commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #879. Ignite will be installable from a maintainer-owned tap, twostraws/homebrew-ignite:

brew tap twostraws/ignite
brew install ignite-swift

The formula is named ignite-swift because homebrew-core already has an unrelated ignite formula. The installed command is still ignite.

Changes

  • Server script lookup (RunCommand.swift): ignite run used to find ignite-server.py from argv[0]. That breaks when ignite is launched from PATH (no slash in argv[0]). It now checks three places: next to the executable, next to the executable with symlinks resolved, and in a sibling libexec/ folder. The executable is found with Bundle.main.executableURL, falling back to argv[0]. make install keeps working, and a future version of the formula can move the script out of bin/ into libexec/. The script path is now quoted in the shell command, and the "missing script" message mentions brew reinstall.
  • Release workflow (.github/workflows/release.yml): runs on version tags such as 0.7.2.
    1. It creates a GitHub Release with generated notes, unless the Release already exists.
    2. It computes the source tarball's sha256, then opens a PR on twostraws/homebrew-ignite that updates Formula/ignite-swift.rb. The tap's brew test-bot builds bottles on that PR, and a maintainer adds the pr-pull label to publish.
  • README: adds Homebrew install instructions next to the existing make install steps.

Before merging

  • Add a HOMEBREW_TAP_TOKEN repository secret: a fine-grained token with access to twostraws/homebrew-ignite only, with Contents and Pull requests set to read and write. Without it, the bump job fails with a clear error, but the Release is still created.
  • Merge the tap's initial formula PR first, so the README instructions work as soon as this lands.

Testing

  • CI builds and runs the test suite.
  • The workflow YAML parses. The formula-editing commands were run against a copy of the formula with a sample bottle block: the URL and sha256 lines update, and the stale bottle block is removed.
  • The 0.7.1 tarball sha256 in the tap formula was checked against GitHub.

@MrSkwiggs MrSkwiggs self-assigned this Oct 30, 2026
@MrSkwiggs
MrSkwiggs force-pushed the claude/project-thread-hl28uw branch from 262a944 to 1ec0644 Compare October 30, 2026 11:34
…ookup

- Find ignite-server.py next to the executable, next to the resolved
  executable, or in a sibling libexec folder, so it works when ignite is
  launched through a Homebrew symlink or from PATH.
- Add a release workflow that publishes a GitHub Release for each version
  tag and opens a pull request on twostraws/homebrew-ignite to bump the
  ignite-swift formula (needs the HOMEBREW_TAP_TOKEN secret).
- Document installing with Homebrew in the README.
@MrSkwiggs
MrSkwiggs force-pushed the claude/project-thread-hl28uw branch from 1ec0644 to 3ed7538 Compare October 30, 2026 13:20
@MrSkwiggs MrSkwiggs closed this Oct 30, 2026
@MrSkwiggs
MrSkwiggs deleted the claude/project-thread-hl28uw branch October 30, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant