Skip to content

brew: updating homebrew tap with pr enabled fails #4283

@markphelps

Description

@markphelps

What happened?

When trying to use the pull request feature of updating homebrew-taps (https://goreleaser.com/customization/homebrew/#pull-requests) we seem to always get a 404 from the GitHub API which fails the release.

It still ends up actually pushing the updated Formula to the main branch however, but no pull request is created and all later steps in the goreleaser workflow do not occur (like announcing the release, etc)

     • homebrew tap formula
      • brews.pull_request enabled, creating a PR
      • pushing                                      repository=flipt-io/homebrew-brew branch=main file=Formula/flipt.rb
      • error checking for default branch            projectID= statusCode=404 error=GET https://api.github.com/repos//: 404 Not Found []
      • took: 1s
  • took: 30s
  ⨯ release failed after 52s                 error=1 error occurred:
	* homebrew tap formula: GET https://api.github.com/repos//: 404 Not Found []

We are using a GITHUB_TOKEN which has access to the repository flipt-io/homebrew-brew

      - name: Generate token
        id: generate_token
        uses: tibdex/github-app-token@v1
        with:
          app_id: ${{ secrets.FLIPT_RELEASE_BOT_APP_ID }}
          private_key: ${{ secrets.FLIPT_RELEASE_BOT_APP_PEM }}
          installation_id: ${{ secrets.FLIPT_RELEASE_BOT_INSTALLATION_ID }}

      - name: GoReleaser
        uses: goreleaser/goreleaser-action@v4
        with:
          distribution: goreleaser-pro
          version: latest
          args: release --clean
        env:
          GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
          GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}

How can we reproduce this?

https://github.com/flipt-io/flipt/actions/runs/6131586038/job/16641792635#step:14:88

brews:
  - name: flipt
    homepage: https://flipt.io
    description: An open source, self-hosted feature flag solution
    license: GPL-3.0-only
    folder: Formula
    skip_upload: auto

    post_install: |
      (var/"log/flipt").mkpath

    service: |
      run [opt_bin/"flipt"]
      environment_variables PATH: std_service_path_env
      keep_alive true
      error_log_path "#{var}/log/flipt/server-stderr.log"
      log_path "#{var}/log/flipt/server-stdout.log"

    repository:
      owner: flipt-io
      name: homebrew-brew
      branch: main

Here is the homebrew tap repository where you can see it was updated: flipt-io/homebrew-brew@490be28

goreleaser version

v1.20.0-pro

GoReleaser Check

  • goreleaser check shows no errors

Search

  • I did search for other open and closed issues before opening this

Supporter

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions