Skip to content

Commit 836b988

Browse files
authored
chore: rename tap and releases (#34)
* rename tap and releases * skill version * bootstrap 0.1.0
1 parent 9d0cf14 commit 836b988

8 files changed

Lines changed: 28 additions & 18 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
# uploads archives, the source bundle, and the checksums file here.
5353
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5454
# Cross-repo token (App-minted): lets goreleaser commit
55-
# Formula/airbyte.rb to airbytehq/homebrew-tap.
55+
# Formula/airbyte-cli.rb to airbytehq/homebrew-tap.
5656
HOMEBREW_TAP_GITHUB_TOKEN: ${{ steps.get-app-token.outputs.token }}
5757
# Skill version stamped into the binary via cmd.ExpectedSkillVersion.
5858
# Sourced from skills/airbyte-agents/SKILL.md by the previous step.

.github/workflows/skill-version-bump.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ jobs:
2020
run: |
2121
set -euo pipefail
2222
head=$(./scripts/skill-version.sh)
23+
# v0.1.0 is the documented bootstrap/reset version. Accept it
24+
# regardless of the base branch so deliberate resets (e.g. after a
25+
# namespace rename) don't require bypassing the check.
26+
if [ "$head" = "v0.1.0" ]; then
27+
echo "::notice::Head is v0.1.0 — treating as bootstrap/reset."
28+
exit 0
29+
fi
2330
if ! base=$(git show "origin/${{ github.base_ref }}":skills/airbyte-agents/SKILL.md 2>/dev/null | ./scripts/skill-version.sh /dev/stdin 2>/dev/null); then
2431
echo "::notice::Base branch has no skill version yet — accepting head=$head as the bootstrap."
2532
exit 0

.goreleaser.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,20 @@ release:
6464
prerelease: auto
6565
name_template: "v{{ .Version }}"
6666

67-
# Homebrew formula generation. Goreleaser commits Formula/airbyte.rb to the
68-
# airbytehq/homebrew-tap repo on each non-prerelease release. Cross-repo write
69-
# requires a separate token (HOMEBREW_TAP_GITHUB_TOKEN) — the default
67+
# Homebrew formula generation. Goreleaser commits Formula/airbyte-cli.rb to
68+
# the airbytehq/homebrew-tap repo on each non-prerelease release. Cross-repo
69+
# write requires a separate token (HOMEBREW_TAP_GITHUB_TOKEN) — the default
7070
# GITHUB_TOKEN issued by the workflow only has access to this repo.
7171
#
7272
# Note: `brews` is deprecated in goreleaser in favor of `homebrew_casks`. We are
7373
# intentionally still using `brews` because casks are intended for signed/notarized
7474
# macOS binaries and our binaries are unsigned. Revisit when goreleaser removes
7575
# `brews` entirely or when we start signing release binaries.
76+
#
77+
# Formula is named `airbyte-cli` (to match the repo); the installed binary
78+
# is `airbyte` (short, what users actually type).
7679
brews:
77-
- name: airbyte
80+
- name: airbyte-cli
7881
repository:
7982
owner: airbytehq
8083
name: homebrew-tap

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Environment overrides:
2828
### Homebrew (macOS, Linux)
2929

3030
```bash
31-
brew install airbytehq/tap/airbyte
31+
brew install airbytehq/tap/airbyte-cli
3232
```
3333

3434
### Manual binary download
@@ -277,7 +277,7 @@ To add a new resource: implement the `Resource` interface in `internal/resources
277277

278278
## Releases
279279

280-
Releases are cut by pushing a `v*` tag. The `release` workflow builds binaries for `linux`/`darwin`/`windows` × `amd64`/`arm64` (Windows arm64 excepted) via [goreleaser](https://goreleaser.com), uploads them as a draft GitHub release, and commits an updated `Formula/airbyte.rb` to [airbytehq/homebrew-tap](https://github.com/airbytehq/homebrew-tap).
280+
Releases are cut by pushing a `v*` tag. The `release` workflow builds binaries for `linux`/`darwin`/`windows` × `amd64`/`arm64` (Windows arm64 excepted) via [goreleaser](https://goreleaser.com), uploads them as a draft GitHub release, and commits an updated `Formula/airbyte-cli.rb` to [airbytehq/homebrew-tap](https://github.com/airbytehq/homebrew-tap).
281281

282282
### Versioning
283283

@@ -303,13 +303,13 @@ Pre-releases use a suffix (`v0.2.0-rc1`, `v0.2.0-beta`); goreleaser publishes th
303303

304304
3. **Watch the release workflow.** It runs in two halves:
305305
- Builds + uploads a **draft** GitHub release (binaries, archives, `checksums.txt`).
306-
- Commits `Formula/airbyte.rb` to `airbytehq/homebrew-tap@main`.
306+
- Commits `Formula/airbyte-cli.rb` to `airbytehq/homebrew-tap@main`.
307307
4. **Review the draft release.** Open it in the GitHub UI, check the auto-generated changelog, and either edit the notes or accept them.
308308
5. **Click Publish.** This is intentional manual gating — easy to catch a misconfigured formula or stale changelog before users see it.
309309
6. **Smoke-test the install** on a fresh machine:
310310

311311
```bash
312-
brew install airbytehq/tap/airbyte
312+
brew install airbytehq/tap/airbyte-cli
313313
airbyte agents version
314314
```
315315

@@ -320,7 +320,7 @@ Validate the release pipeline locally without pushing anything:
320320
```bash
321321
goreleaser check # validates .goreleaser.yaml
322322
goreleaser release --snapshot --clean
323-
# inspect dist/ — binaries, archives, and dist/homebrew/Formula/airbyte.rb
323+
# inspect dist/ — binaries, archives, and dist/homebrew/Formula/airbyte-cli.rb
324324
```
325325

326326
The snapshot run produces real artifacts in `dist/` so you can confirm the formula renders correctly and the version-stamped ldflags resolve as expected. Nothing is uploaded.
@@ -329,7 +329,7 @@ The snapshot run produces real artifacts in `dist/` so you can confirm the formu
329329

330330
- **Bad binaries, formula not yet committed.** Delete the draft release in the GitHub UI, delete the tag locally and remotely (`git tag -d v0.1.0 && git push origin :refs/tags/v0.1.0`), fix, retag.
331331
- **Formula already committed but binaries broken.** Delete the formula commit on `homebrew-tap` (open a one-line revert PR), then retag a new patch version. Don't re-use the same tag.
332-
- **Need to yank a published release.** Delete the formula commit on `homebrew-tap`. Existing `brew install`s won't rollback automatically; users with the broken version will keep it until they `brew upgrade airbyte`. Consider a `0.x.y+1` patch release rather than a yank when possible — fewer surprises for users.
332+
- **Need to yank a published release.** Delete the formula commit on `homebrew-tap`. Existing `brew install`s won't rollback automatically; users with the broken version will keep it until they `brew upgrade airbyte-cli`. Consider a `0.x.y+1` patch release rather than a yank when possible — fewer surprises for users.
333333

334334
## License
335335

RELEASES.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The script does **not** publish anything itself — pushing the tag is what trig
3939
2. Runs `goreleaser release --clean`, which:
4040
- Builds cross-platform binaries (linux/darwin/windows × amd64/arm64).
4141
- Creates a **draft** GitHub release in `airbyte-cli` with the archives and `checksums.txt` attached.
42-
- Commits an updated `Formula/airbyte.rb` directly to `main` on `airbytehq/homebrew-tap`.
42+
- Commits an updated `Formula/airbyte-cli.rb` directly to `main` on `airbytehq/homebrew-tap`.
4343

4444
Prerelease tags (e.g. `v0.1.0-rc1`) are detected automatically: the GitHub release is still created (as a prerelease draft) but the brew formula commit is **skipped** (`skip_upload: auto` in `.goreleaser.yaml`).
4545

@@ -57,7 +57,7 @@ Two ways to publish:
5757
gh release edit vX.Y.Z --draft=false --repo airbytehq/airbyte-cli
5858
```
5959

60-
Once published, the tarball URLs in the brew formula resolve and `brew install airbytehq/tap/airbyte` works. Before publishing, those URLs return 404 to anonymous requests (which is what `brew` makes).
60+
Once published, the tarball URLs in the brew formula resolve and `brew install airbytehq/tap/airbyte-cli` works. Before publishing, those URLs return 404 to anonymous requests (which is what `brew` makes).
6161

6262
## Removing a tag
6363

@@ -76,7 +76,7 @@ git tag -d vX.Y.Z
7676
git push origin :refs/tags/vX.Y.Z
7777
```
7878

79-
**3. Revert the formula commit on `homebrew-tap`** if goreleaser already pushed one. Find the bump commit in `https://github.com/airbytehq/homebrew-tap/commits/main` and revert it (or push a follow-up commit restoring the previous formula). If this is the first release, just delete `Formula/airbyte.rb` from the tap.
79+
**3. Revert the formula commit on `homebrew-tap`** if goreleaser already pushed one. Find the bump commit in `https://github.com/airbytehq/homebrew-tap/commits/main` and revert it (or push a follow-up commit restoring the previous formula). If this is the first release, just delete `Formula/airbyte-cli.rb` from the tap.
8080

8181
**4. Re-run the release script** when ready:
8282

internal/versioncheck/check.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func maybeNudge(currentRaw string, current semver, c *cacheFile, stderr io.Write
113113
func formatNudge(current, latest, releaseURL string) string {
114114
var b strings.Builder
115115
fmt.Fprintf(&b, "A new version of the airbyte CLI is available: %s (you have %s)\n", latest, current)
116-
b.WriteString(" Upgrade with brew: brew upgrade airbyte\n")
116+
b.WriteString(" Upgrade with brew: brew upgrade airbyte-cli\n")
117117
b.WriteString(" Or reinstall: curl -fsSL https://airbyte.ai/install.sh | sh\n")
118118
if releaseURL != "" {
119119
fmt.Fprintf(&b, " Release notes: %s\n", releaseURL)

scripts/release.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ echo
7070
echo "Tag pushed. The release workflow will:"
7171
echo " - build cross-platform archives"
7272
echo " - create a DRAFT release at https://github.com/airbytehq/airbyte-cli/releases"
73-
echo " - commit Formula/airbyte.rb to airbytehq/homebrew-tap"
73+
echo " - commit Formula/airbyte-cli.rb to airbytehq/homebrew-tap"
7474
echo
7575
echo "Watch the run: gh run watch --repo airbytehq/airbyte-cli"
7676
echo "Publish the draft once you've eyeballed the artifacts and the formula commit."

skills/airbyte-agents/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
name: airbyte-agents
33
description: Drive the `airbyte agents` CLI namespace to manage Airbyte connectors, workspaces, and organizations. Run list/get/search/create/update actions against connector data (HubSpot, Salesforce, Slack, GitHub, etc.), install new connectors via the browser credential flow, list and switch workspaces, list organizations, inspect a connector's entities and actions, or print the merged CLI + OpenAPI schema for any operation. Use when the user mentions Airbyte, the `airbyte` CLI, connectors, syncs, workspaces, organizations, or asks to read/write data from a connected SaaS product.
44
metadata:
5-
version: "v0.1.3"
5+
version: "v0.1.0"
66
---
77

88
# airbyte agents
99

1010
> [!NOTE]
11-
> Requires the `airbyte` CLI on `PATH`. Install via `brew install airbytehq/tap/airbyte` or `curl -fsSL https://airbyte.ai/install.sh | bash`. See the [project README](https://github.com/airbytehq/airbyte-cli#install) for other options.
11+
> Requires the `airbyte` CLI on `PATH`. Install via `brew install airbytehq/tap/airbyte-cli` or `curl -fsSL https://airbyte.ai/install.sh | bash`. See the [project README](https://github.com/airbytehq/airbyte-cli#install) for other options.
1212
1313
The CLI is invoked as `airbyte agents <resource> <operation>`. It exposes Airbyte's data plane through a uniform interface — every command takes a JSON payload and returns JSON.
1414

0 commit comments

Comments
 (0)