formula-update #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Update Homebrew Formula | |
| on: | |
| repository_dispatch: | |
| types: [formula-update] | |
| jobs: | |
| update-formula: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Update formula from template | |
| run: | | |
| # Extract data from the dispatch payload | |
| VERSION="${{ github.event.client_payload.release.version }}" | |
| DARWIN_ARM64_SHA="${{ github.event.client_payload.checksums.darwin_arm64 }}" | |
| DARWIN_X86_64_SHA="${{ github.event.client_payload.checksums.darwin_x86_64 }}" | |
| LINUX_X86_64_SHA="${{ github.event.client_payload.checksums.linux_x86_64 }}" | |
| LINUX_ARM64_SHA="${{ github.event.client_payload.checksums.linux_arm64 }}" | |
| # Remove 'v' prefix if present | |
| CLEAN_VERSION="${VERSION#v}" | |
| echo "Updating formula to version: $CLEAN_VERSION" | |
| echo "Darwin ARM64 SHA: $DARWIN_ARM64_SHA" | |
| echo "Darwin x86_64 SHA: $DARWIN_X86_64_SHA" | |
| echo "Linux x86_64 SHA: $LINUX_X86_64_SHA" | |
| echo "Linux ARM64 SHA: $LINUX_ARM64_SHA" | |
| # Generate the formula from template | |
| cp Formula/apm.rb.template Formula/apm.rb | |
| # Replace template placeholders with actual values | |
| sed -i "s/{{VERSION}}/$CLEAN_VERSION/g" Formula/apm.rb | |
| sed -i "s/{{DARWIN_ARM64_SHA}}/$DARWIN_ARM64_SHA/g" Formula/apm.rb | |
| sed -i "s/{{DARWIN_X86_64_SHA}}/$DARWIN_X86_64_SHA/g" Formula/apm.rb | |
| sed -i "s/{{LINUX_X86_64_SHA}}/$LINUX_X86_64_SHA/g" Formula/apm.rb | |
| sed -i "s/{{LINUX_ARM64_SHA}}/$LINUX_ARM64_SHA/g" Formula/apm.rb | |
| echo "✅ Formula updated successfully" | |
| - name: Create pull request | |
| env: | |
| GH_TOKEN: ${{ secrets.CREATE_PR_PAT }} | |
| run: | | |
| VERSION="${{ github.event.client_payload.release.version }}" | |
| CLEAN_VERSION="${VERSION#v}" | |
| BRANCH="formula/v${CLEAN_VERSION}" | |
| git config --local user.email "action@github.com" | |
| git config --local user.name "GitHub Action" | |
| git add Formula/apm.rb | |
| if git diff --staged --quiet; then | |
| echo "No changes to commit" | |
| exit 0 | |
| fi | |
| git checkout -b "$BRANCH" | |
| git commit -m "Update APM formula to v${CLEAN_VERSION}" | |
| git push origin "$BRANCH" | |
| gh pr create \ | |
| --title "Update APM formula to v${CLEAN_VERSION}" \ | |
| --body "Automated formula update triggered by APM release v${CLEAN_VERSION}." \ | |
| --base main \ | |
| --head "$BRANCH" | |
| echo "✅ Pull request created for formula update" |