Skip to content

Conversation

@saturday06
Copy link
Contributor

The current implementation can sometimes cause a 404 error when downloading release files immediately after a new release is created. This happens because the release file upload is not yet complete when the new release is initially created, leading to a download failure if accessed too early. To ensure successful downloads, the new release is now initially set as a prerelease until the release files have finished uploading.

This issue was detected in my development environment around Nov 7, 7:01:04 am (UTC), resulting in the following error:

$ rv ruby install 3.4.7
Error: InstallError(DownloadFailed { url: "https://github.com/spinel-coop/rv-ruby/releases/latest/download/ruby-3.4.7.arm64_sonoma.tar.gz", status: 404, body: "Not Found" })

The reason for using prerelease instead of draft is that the GitHubReleases::upload_bottles used by brew rv-upload does not yet support draft releases.

The current implementation can sometimes cause a 404 error when
downloading release files immediately after a new release is created.
This happens because the release file upload is not yet complete when
the new release is initially created, leading to a download failure if
accessed too early. To ensure successful downloads, the new release is
now initially set as a prerelease until the release files have finished
uploading.

This issue was detected in my development environment around
Nov 7, 7:01:04 am (UTC), resulting in the following error:

```
$ rv ruby install 3.4.7
Error: InstallError(DownloadFailed { url: "https://github.com/spinel-coop/rv-ruby/releases/latest/download/ruby-3.4.7.arm64_sonoma.tar.gz", status: 404, body: "Not Found" })
```

The reason for using prerelease instead of draft is that the
GitHubReleases::upload_bottles used by brew rv-upload does not yet
support draft releases.
@adamchalmers
Copy link
Collaborator

Hah, we had the exact same issue in my dayjob. Let me take a look at this...

@indirect
Copy link
Member

indirect commented Nov 9, 2025

Great catch, thanks for the fix!

@indirect indirect added this pull request to the merge queue Nov 9, 2025
Merged via the queue into spinel-coop:main with commit 4a769c8 Nov 9, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants