From 3c2620a57d1b9978a2ec893b72248c32c0a8dc14 Mon Sep 17 00:00:00 2001 From: Jonathan Reyes Date: Mon, 17 Nov 2025 08:19:57 -0700 Subject: [PATCH 1/2] fix(brew): rename homebrew directory to Formula for proper tap structure Homebrew taps require formulas to be in a Formula/ directory at the repository root. The previous homebrew/ directory location prevented brew from finding the pmat formula when using the tap. This enables proper installation via: brew tap paiml/pmat https://github.com/paiml/paiml-mcp-agent-toolkit brew install paiml/pmat/pmat --- {homebrew => Formula}/README.md | 0 {homebrew => Formula}/SUBMIT_TO_CORE.md | 0 {homebrew => Formula}/pmat.rb | 0 {homebrew => Formula}/tap-setup.sh | 0 {homebrew => Formula}/test-formula.sh | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename {homebrew => Formula}/README.md (100%) rename {homebrew => Formula}/SUBMIT_TO_CORE.md (100%) rename {homebrew => Formula}/pmat.rb (100%) rename {homebrew => Formula}/tap-setup.sh (100%) rename {homebrew => Formula}/test-formula.sh (100%) diff --git a/homebrew/README.md b/Formula/README.md similarity index 100% rename from homebrew/README.md rename to Formula/README.md diff --git a/homebrew/SUBMIT_TO_CORE.md b/Formula/SUBMIT_TO_CORE.md similarity index 100% rename from homebrew/SUBMIT_TO_CORE.md rename to Formula/SUBMIT_TO_CORE.md diff --git a/homebrew/pmat.rb b/Formula/pmat.rb similarity index 100% rename from homebrew/pmat.rb rename to Formula/pmat.rb diff --git a/homebrew/tap-setup.sh b/Formula/tap-setup.sh similarity index 100% rename from homebrew/tap-setup.sh rename to Formula/tap-setup.sh diff --git a/homebrew/test-formula.sh b/Formula/test-formula.sh similarity index 100% rename from homebrew/test-formula.sh rename to Formula/test-formula.sh From 7e96e454ca02af43b2e1b462901f29c5cf81b5f5 Mon Sep 17 00:00:00 2001 From: Jonathan Reyes Date: Mon, 17 Nov 2025 08:26:08 -0700 Subject: [PATCH 2/2] fix(brew): update automation workflows for Formula/ directory Update all automation workflows and scripts to reference the new Formula/pmat.rb path instead of homebrew/pmat.rb: - .github/workflows/homebrew-update.yml - .github/workflows/multi-ecosystem-release.yml - Formula/test-formula.sh - docs/DISTRIBUTION_STATUS.md This ensures automated version updates will continue working after the directory rename. --- .github/workflows/homebrew-update.yml | 14 +++++++------- .github/workflows/multi-ecosystem-release.yml | 12 ++++++------ Formula/test-formula.sh | 4 ++-- docs/DISTRIBUTION_STATUS.md | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/homebrew-update.yml b/.github/workflows/homebrew-update.yml index ab958d5ee..06bec1123 100644 --- a/.github/workflows/homebrew-update.yml +++ b/.github/workflows/homebrew-update.yml @@ -43,17 +43,17 @@ jobs: SHA256="${{ steps.sha256.outputs.sha256 }}" # Update formula with new version and SHA256 - sed -i "s|archive/v.*\.tar\.gz|archive/v${VERSION}.tar.gz|" homebrew/pmat.rb - sed -i "s|sha256 \".*\"|sha256 \"${SHA256}\"|" homebrew/pmat.rb - + sed -i "s|archive/v.*\.tar\.gz|archive/v${VERSION}.tar.gz|" Formula/pmat.rb + sed -i "s|sha256 \".*\"|sha256 \"${SHA256}\"|" Formula/pmat.rb + echo "Updated formula:" - cat homebrew/pmat.rb | grep -E "(url|sha256)" + cat Formula/pmat.rb | grep -E "(url|sha256)" - name: Commit updated formula run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add homebrew/pmat.rb + git add Formula/pmat.rb git commit -m "homebrew: Update formula to v${{ steps.version.outputs.version }}" || exit 0 git push @@ -61,9 +61,9 @@ jobs: run: | echo "๐Ÿ“ Manual step required:" echo "1. Fork https://github.com/Homebrew/homebrew-core" - echo "2. Copy updated homebrew/pmat.rb to Formula/pmat.rb" + echo "2. Copy updated Formula/pmat.rb to Formula/pmat.rb" echo "3. Test with: brew install --build-from-source Formula/pmat.rb" echo "4. Submit PR with title: 'pmat ${{ steps.version.outputs.version }}'" echo "" - echo "Formula ready at: homebrew/pmat.rb" + echo "Formula ready at: Formula/pmat.rb" echo "SHA256: ${{ steps.sha256.outputs.sha256 }}" \ No newline at end of file diff --git a/.github/workflows/multi-ecosystem-release.yml b/.github/workflows/multi-ecosystem-release.yml index 967437914..13877e9f4 100644 --- a/.github/workflows/multi-ecosystem-release.yml +++ b/.github/workflows/multi-ecosystem-release.yml @@ -101,19 +101,19 @@ jobs: run: | VERSION="${{ needs.prepare.outputs.version }}" SHA256="${{ needs.prepare.outputs.sha256 }}" - + # Update formula with new version and SHA256 - sed -i "s|archive/v.*\.tar\.gz|archive/v${VERSION}.tar.gz|" homebrew/pmat.rb - sed -i "s|sha256 \".*\"|sha256 \"${SHA256}\"|" homebrew/pmat.rb - + sed -i "s|archive/v.*\.tar\.gz|archive/v${VERSION}.tar.gz|" Formula/pmat.rb + sed -i "s|sha256 \".*\"|sha256 \"${SHA256}\"|" Formula/pmat.rb + echo "Updated Homebrew formula:" - cat homebrew/pmat.rb | grep -E "(url|sha256|version)" + cat Formula/pmat.rb | grep -E "(url|sha256|version)" - name: Commit Homebrew updates run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add homebrew/pmat.rb + git add Formula/pmat.rb git commit -m "homebrew: Update to v${{ needs.prepare.outputs.version }}" || exit 0 git push diff --git a/Formula/test-formula.sh b/Formula/test-formula.sh index cbd3a11fe..f0b36524e 100755 --- a/Formula/test-formula.sh +++ b/Formula/test-formula.sh @@ -16,11 +16,11 @@ brew --version echo "" echo "๐Ÿงช Testing formula syntax..." -brew audit --strict homebrew/pmat.rb +brew audit --strict Formula/pmat.rb echo "" echo "๐Ÿ” Installing from local formula..." -brew install --build-from-source homebrew/pmat.rb +brew install --build-from-source Formula/pmat.rb echo "" echo "โœ… Testing installed binary..." diff --git a/docs/DISTRIBUTION_STATUS.md b/docs/DISTRIBUTION_STATUS.md index 1cf018752..658f3f78a 100644 --- a/docs/DISTRIBUTION_STATUS.md +++ b/docs/DISTRIBUTION_STATUS.md @@ -44,7 +44,7 @@ These distributions have automated package updates but require one-time manual s - **Workflow**: `.github/workflows/multi-ecosystem-release.yml` - **Automation**: Formula auto-updated with SHA256 - **Manual Step**: Submit PR to homebrew-core (one-time) -- **Files**: `homebrew/pmat.rb`, `homebrew/SUBMIT_TO_CORE.md` +- **Files**: `Formula/pmat.rb`, `Formula/SUBMIT_TO_CORE.md` - **Post-Submission**: Fully automated forever #### ๐Ÿ”„ Arch Linux AUR