Skip to content

Commit a4a75a6

Browse files
knhn1004claude
andauthored
chore: remove Homebrew distribution channel (#58)
Brew tap auto-bump pipeline never reliably worked end-to-end. Drop: - Formula/agentlock.rb (the tap formula) - formula job in .github/workflows/npm-publish.yml (auto-bump PR) - All `brew install openagentlock/tap/agentlock` mentions in README, index, getting-started, installation, status The `brew install` in supply-chain.pkg-install rule documentation stays — that describes what the rule blocks an agent from running, not a distribution channel for agentlock itself. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 01ce47d commit a4a75a6

7 files changed

Lines changed: 2 additions & 173 deletions

File tree

.github/workflows/npm-publish.yml

Lines changed: 0 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -52,116 +52,3 @@ jobs:
5252
env:
5353
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5454
run: npm publish --provenance --access public
55-
56-
formula:
57-
name: open Homebrew formula PR
58-
needs: publish
59-
runs-on: ubuntu-latest
60-
continue-on-error: true
61-
env:
62-
VERSION: ${{ needs.publish.outputs.version }}
63-
steps:
64-
- uses: actions/checkout@v6
65-
with:
66-
ref: main
67-
fetch-depth: 0
68-
69-
- uses: actions/setup-node@v6
70-
with:
71-
node-version: "20"
72-
registry-url: "https://registry.npmjs.org"
73-
74-
- name: Wait for tarball + compute sha256
75-
id: tarball
76-
run: |
77-
set -euo pipefail
78-
v="${VERSION}"
79-
pkg="@openagentlock/cli"
80-
81-
deadline=$(( $(date +%s) + 300 ))
82-
tarball=""
83-
integrity=""
84-
while [ "$(date +%s)" -lt "$deadline" ]; do
85-
tarball=$(npm view "${pkg}@${v}" dist.tarball 2>/dev/null || true)
86-
integrity=$(npm view "${pkg}@${v}" dist.integrity 2>/dev/null || true)
87-
if [ -n "$tarball" ] && [ -n "$integrity" ]; then
88-
if curl -fLsS --retry 3 --retry-delay 3 --max-time 30 \
89-
-o /tmp/cli.tgz "$tarball"; then
90-
break
91-
fi
92-
fi
93-
echo "tarball not ready yet; retrying in 15s..."
94-
sleep 15
95-
tarball=""
96-
done
97-
98-
if [ -z "$tarball" ] || [ ! -s /tmp/cli.tgz ]; then
99-
echo "::error::Tarball for ${pkg}@${v} not available after 5 minutes" >&2
100-
exit 1
101-
fi
102-
103-
want_sha512=$(printf '%s' "$integrity" | sed -E 's|^sha512-||' \
104-
| base64 -d 2>/dev/null | xxd -p -c 256 | tr -d '\n')
105-
got_sha512=$(shasum -a 512 /tmp/cli.tgz | awk '{print $1}')
106-
if [ "$want_sha512" != "$got_sha512" ]; then
107-
echo "::error::Integrity mismatch: registry=${want_sha512} got=${got_sha512}" >&2
108-
exit 1
109-
fi
110-
111-
sha256=$(shasum -a 256 /tmp/cli.tgz | awk '{print $1}')
112-
echo "tarball=$tarball" >> "$GITHUB_OUTPUT"
113-
echo "sha256=$sha256" >> "$GITHUB_OUTPUT"
114-
{
115-
echo "### Tarball"
116-
echo ""
117-
echo "- url: \`$tarball\`"
118-
echo "- sha256: \`$sha256\`"
119-
} >> "$GITHUB_STEP_SUMMARY"
120-
121-
- name: Edit Formula
122-
env:
123-
SHA256: ${{ steps.tarball.outputs.sha256 }}
124-
run: |
125-
set -euo pipefail
126-
v="${VERSION}"
127-
sed -i -E \
128-
-e "s|cli-[0-9]+\.[0-9]+\.[0-9]+\.tgz|cli-${v}.tgz|" \
129-
-e "s|sha256 \"[^\"]+\"|sha256 \"${SHA256}\"|" \
130-
-e "s|version \"[^\"]+\"|version \"${v}\"|" \
131-
Formula/agentlock.rb
132-
if git diff --quiet -- Formula/agentlock.rb; then
133-
echo "Formula already at v${v}; nothing to do." \
134-
>> "$GITHUB_STEP_SUMMARY"
135-
echo "NO_CHANGES=1" >> "$GITHUB_ENV"
136-
fi
137-
138-
- name: Open PR
139-
if: env.NO_CHANGES != '1'
140-
env:
141-
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
142-
run: |
143-
set -euo pipefail
144-
v="${VERSION}"
145-
branch="formula/v${v}"
146-
git config user.name "github-actions[bot]"
147-
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
148-
149-
# Recreate the branch cleanly (delete any stale remote copy first).
150-
git push origin --delete "$branch" 2>/dev/null || true
151-
git checkout -B "$branch"
152-
git add Formula/agentlock.rb
153-
git commit -m "Formula: pin v${v} sha256"
154-
git push -u origin "$branch"
155-
156-
existing=$(gh pr list --head "$branch" --state open \
157-
--json number --jq '.[0].number' || true)
158-
if [ -n "$existing" ]; then
159-
echo "PR #$existing already open for $branch" \
160-
>> "$GITHUB_STEP_SUMMARY"
161-
else
162-
gh pr create \
163-
--base main \
164-
--head "$branch" \
165-
--title "Formula: pin v${v} sha256" \
166-
--body "Automated formula bump after publishing \`@openagentlock/cli@${v}\` to npm."
167-
fi

Formula/agentlock.rb

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

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ docker run -d --name agentlock \
3434
# 2. Install the CLI
3535
npm i -g @openagentlock/cli
3636
# or: bun add -g @openagentlock/cli
37-
# or: brew install openagentlock/tap/agentlock
3837

3938
# 3. Enroll a signer (TOTP — recommended for prod)
4039
agentlock signer enroll --tier totp --passphrase 'your-passphrase-here'
@@ -137,7 +136,6 @@ ledger/ Rust crate (lib + cdylib + staticlib) — openag
137136
policies/default.yaml baseline policy shipped with every install
138137
docs/ MkDocs Material site (deployed to openagentlock.github.io/OpenAgentLock)
139138
assets/ logo, favicon, social card
140-
Formula/agentlock.rb Homebrew tap formula
141139
docker-compose.yml one-command control-plane bring-up
142140
scripts/install.sh one-shot installer
143141
.github/workflows/ ci · docker-publish · npm-publish · pages

docs/guide/getting-started.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,6 @@ curl -s http://127.0.0.1:7878/v1/health
4141

4242
## 2. Install the CLI
4343

44-
=== "Homebrew"
45-
46-
```bash
47-
brew install openagentlock/tap/agentlock
48-
```
49-
5044
=== "npm / Bun"
5145

5246
```bash

docs/guide/installation.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,6 @@ Both are required. The CLI on its own can probe for harnesses but cannot evaluat
99

1010
## CLI
1111

12-
### Homebrew (macOS, Linux)
13-
14-
```bash
15-
brew install openagentlock/tap/agentlock
16-
```
17-
18-
The tap also installs `bun` as a dependency since the CLI runs on Bun.
19-
2012
### npm / Bun
2113

2214
```bash

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,12 @@ curl -O https://raw.githubusercontent.com/openagentlock/openagentlock/main/docke
118118
docker compose up -d
119119

120120
# 3. Install the CLI and wire up your agents
121-
brew install openagentlock/tap/agentlock
121+
npm i -g @openagentlock/cli
122122
agentlock detect
123123
agentlock install
124124
```
125125

126-
See [Installation](guide/installation.md) for npm, source builds, and platform notes.
126+
See [Installation](guide/installation.md) for source builds and platform notes.
127127

128128
## Status
129129

docs/status.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ Flip to `mode: enforce` at the top of your policy file when you've reviewed acti
7272
|---|---|
7373
| `ghcr.io/openagentlock/agentlockd` Docker image | <span class="md-status-pill shipped">Shipped</span> on tag |
7474
| `@openagentlock/cli` on npm | <span class="md-status-pill shipped">Shipped</span> on tag |
75-
| `openagentlock/tap/agentlock` Homebrew formula | <span class="md-status-pill shipped">Shipped</span> on tag |
7675
| `pip install openagentlock` | <span class="md-status-pill not-yet">Not yet implemented</span> — Bun-native CLI; pip wrapper is roadmap if demand surfaces |
7776

7877
## Other surfaces

0 commit comments

Comments
 (0)