Skip to content

Commit 8a81b9e

Browse files
binarykclaude
andcommitted
chore: consolidate all release steps into single workflow
- Add Homebrew formula update to release.yml - Remove separate update-homebrew.yml - Bump to 0.15.4 to test Now release.yml handles: tag, release, PyPI, Homebrew 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent cfceba4 commit 8a81b9e

4 files changed

Lines changed: 64 additions & 69 deletions

File tree

.github/workflows/release.yml

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
*Auto-generated release*
6060
EOF
6161
62-
# Publish to PyPI after release is created
62+
# Publish to PyPI
6363
- name: Install uv
6464
if: steps.check.outputs.skip == 'false'
6565
uses: astral-sh/setup-uv@v4
@@ -79,3 +79,64 @@ jobs:
7979
uses: pypa/gh-action-pypi-publish@release/v1
8080
with:
8181
skip-existing: true
82+
83+
# Update Homebrew formula
84+
- name: Get release info for Homebrew
85+
if: steps.check.outputs.skip == 'false'
86+
id: homebrew
87+
run: |
88+
VERSION="${{ steps.version.outputs.version }}"
89+
URL="https://github.com/${{ github.repository }}/archive/refs/tags/v$VERSION.tar.gz"
90+
SHA256=$(curl -sL "$URL" | shasum -a 256 | cut -d' ' -f1)
91+
92+
echo "version=$VERSION" >> $GITHUB_OUTPUT
93+
echo "url=$URL" >> $GITHUB_OUTPUT
94+
echo "sha256=$SHA256" >> $GITHUB_OUTPUT
95+
96+
echo "Homebrew URL: $URL"
97+
echo "Homebrew SHA256: $SHA256"
98+
99+
- name: Checkout homebrew-aidocs
100+
if: steps.check.outputs.skip == 'false'
101+
uses: actions/checkout@v4
102+
with:
103+
repository: binarcode/homebrew-aidocs
104+
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
105+
path: homebrew-aidocs
106+
107+
- name: Update Homebrew formula
108+
if: steps.check.outputs.skip == 'false'
109+
run: |
110+
cat > homebrew-aidocs/Formula/aidocs.rb << EOF
111+
class Aidocs < Formula
112+
include Language::Python::Virtualenv
113+
114+
desc "AI-powered documentation generator CLI for Claude Code"
115+
homepage "https://github.com/binarcode/aidocs-cli"
116+
url "${{ steps.homebrew.outputs.url }}"
117+
sha256 "${{ steps.homebrew.outputs.sha256 }}"
118+
license "MIT"
119+
120+
depends_on "python@3.11"
121+
122+
def install
123+
venv = virtualenv_create(libexec, "python3.11")
124+
venv.pip_install "aidocs==${{ steps.homebrew.outputs.version }}"
125+
bin.install_symlink libexec/"bin/aidocs"
126+
end
127+
128+
test do
129+
assert_match "aidocs", shell_output("#{bin}/aidocs version")
130+
end
131+
end
132+
EOF
133+
134+
- name: Commit and push Homebrew formula
135+
if: steps.check.outputs.skip == 'false'
136+
run: |
137+
cd homebrew-aidocs
138+
git config user.name "GitHub Actions"
139+
git config user.email "actions@github.com"
140+
git add Formula/aidocs.rb
141+
git diff --staged --quiet || git commit -m "Update aidocs to ${{ steps.homebrew.outputs.version }}"
142+
git push

.github/workflows/update-homebrew.yml

Lines changed: 0 additions & 66 deletions
This file was deleted.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "aidocs"
3-
version = "0.15.3"
3+
version = "0.15.4"
44
description = "AI-powered documentation generator for web applications. Install docs commands into your Claude Code project."
55
readme = "README.md"
66
license = { text = "MIT" }

src/aidocs_cli/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""AI-powered documentation generator CLI for Claude Code projects."""
22

3-
__version__ = "0.15.3"
3+
__version__ = "0.15.4"
44

55
from .cli import app
66

0 commit comments

Comments
 (0)