From 97edee778fe05b412ac2415e32105aeab6e94058 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 15:20:19 -0700 Subject: [PATCH 1/7] ci: Try out GoReleaser Homebrew Cask --- .github/workflows/release.yaml | 3 +++ .goreleaser.yml | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a05b57e..ee5268a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -20,6 +20,9 @@ jobs: with: app-id: ${{ secrets.RELEASER_APP_ID }} private-key: ${{ secrets.RELEASER_APP_PRIVATE_KEY }} + repositories: | + homebrew-tap + restish - name: Build using goreleaser-cross run: | diff --git a/.goreleaser.yml b/.goreleaser.yml index a020c59..d1a30bd 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -66,7 +66,16 @@ archives: formats: - zip -# TODO(#306): Return homebrew publication. +homebrew_casks: + - name: restish + homepage: https://rest.sh + description: "Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in." + repository: + owner: rest-sh + name: homebrew-tap + pull_request: + enabled: true + draft: true # TODO(cfunkhouser): Delete after testing. checksum: name_template: "checksums.txt" From aedc271840ebba61898b1190d5a18625173a7b37 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 18:47:23 -0700 Subject: [PATCH 2/7] ci: Include SSH key for homebrew-tap --- .github/workflows/release.yaml | 6 ++++++ .goreleaser.yml | 3 +++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ee5268a..9be661e 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -24,11 +24,17 @@ jobs: homebrew-tap restish + - name: Decode SSH Private Key + run: | + echo "${{ secrets.HOMEBREW_REPO_SSH_KEY }}" | base64 -d > /tmp/homebrew_repo_id_ed25519 + shell: bash + - name: Build using goreleaser-cross run: | docker run --rm \ -e CGO_ENABLED=1 \ -e GITHUB_TOKEN=${{ steps.releaser-token.outputs.token }} \ + -v /tmp/homebrew_repo_id_ed25519:/tmp/homebrew_repo_id_ed25519:ro \ -v $PWD:/workspace \ -w /workspace \ ghcr.io/goreleaser/goreleaser-cross:v1.25-v2.12.7 \ diff --git a/.goreleaser.yml b/.goreleaser.yml index d1a30bd..f5231eb 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -76,6 +76,9 @@ homebrew_casks: pull_request: enabled: true draft: true # TODO(cfunkhouser): Delete after testing. + git: + url: 'ssh://git@github.com:rest-sh/homebrew-tap.git' + private_key: /tmp/homebrew_repo_id_ed25519 checksum: name_template: "checksums.txt" From a372370c59d37185e7450e5238bb96ac944558e7 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 20:03:45 -0700 Subject: [PATCH 3/7] ci: Mount SSH credentials mutably --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9be661e..e02f71b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -34,7 +34,7 @@ jobs: docker run --rm \ -e CGO_ENABLED=1 \ -e GITHUB_TOKEN=${{ steps.releaser-token.outputs.token }} \ - -v /tmp/homebrew_repo_id_ed25519:/tmp/homebrew_repo_id_ed25519:ro \ + -v /tmp/homebrew_repo_id_ed25519:/tmp/homebrew_repo_id_ed25519 \ -v $PWD:/workspace \ -w /workspace \ ghcr.io/goreleaser/goreleaser-cross:v1.25-v2.12.7 \ From e09acfc28f211299b11286f5c6d9d6b488d2aca5 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 20:25:19 -0700 Subject: [PATCH 4/7] ci: Reformat URL --- .goreleaser.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index f5231eb..e582a14 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -77,7 +77,7 @@ homebrew_casks: enabled: true draft: true # TODO(cfunkhouser): Delete after testing. git: - url: 'ssh://git@github.com:rest-sh/homebrew-tap.git' + url: "git@github.com:rest-sh/homebrew-tap.git" private_key: /tmp/homebrew_repo_id_ed25519 checksum: From a5749f68c5b85b0ed872e9351e548f4aa7ba8cd4 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 20:43:01 -0700 Subject: [PATCH 5/7] ci: Don't merge to homebrew-tap main --- .goreleaser.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.goreleaser.yml b/.goreleaser.yml index e582a14..796420e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -73,12 +73,16 @@ homebrew_casks: repository: owner: rest-sh name: homebrew-tap + branch: restish-release pull_request: enabled: true draft: true # TODO(cfunkhouser): Delete after testing. git: url: "git@github.com:rest-sh/homebrew-tap.git" private_key: /tmp/homebrew_repo_id_ed25519 + commit_author: + name: Restish Releaser + email: release@rest.sh checksum: name_template: "checksums.txt" From fa83d7fccf46cd0c79b387a32446b4fe47d09571 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 20:54:32 -0700 Subject: [PATCH 6/7] ci: Be explicit about homebrew-tap base --- .goreleaser.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.goreleaser.yml b/.goreleaser.yml index 796420e..478d520 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -77,6 +77,10 @@ homebrew_casks: pull_request: enabled: true draft: true # TODO(cfunkhouser): Delete after testing. + base: + owner: rest-sh + name: homebrew-tap + branch: main git: url: "git@github.com:rest-sh/homebrew-tap.git" private_key: /tmp/homebrew_repo_id_ed25519 From 6c9a7ada5367aa48dc5ad1b1577ff3dd1a2074c2 Mon Sep 17 00:00:00 2001 From: Christian Funkhouser Date: Thu, 4 Dec 2025 21:04:57 -0700 Subject: [PATCH 7/7] ci: PRs not working so yoink it --- .goreleaser.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.goreleaser.yml b/.goreleaser.yml index 478d520..40fe10e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -73,14 +73,7 @@ homebrew_casks: repository: owner: rest-sh name: homebrew-tap - branch: restish-release - pull_request: - enabled: true - draft: true # TODO(cfunkhouser): Delete after testing. - base: - owner: rest-sh - name: homebrew-tap - branch: main + branch: main git: url: "git@github.com:rest-sh/homebrew-tap.git" private_key: /tmp/homebrew_repo_id_ed25519