Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: asset naming convention #178

Merged
merged 6 commits into from
Jan 7, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,47 @@ publish.
### `/:owner/:repo/:platform/:version`
### `/:owner/:repo/win32/:version/RELEASES`

## Asset Naming Convention

This project supports specific naming conventions for GitHub Releases assets.

The following heuristics are used to identify update availability for a specific platform and architecture:

### macOS Assets
- Asset must be a `.zip` file.
- Asset name must include one of the following platform identifiers: `-mac`, `-darwin`, or `-osx`.
- Asset name may specify the architecture (if not specified, will default to `-x64`):
- `-arm64` for Apple Silicon.
- `-x64` for Intel-based macOS.
- `-universal` for Universal binaries.
**Example asset names:**
- `app-mac-arm64-0.0.1.zip`
- `app-mac-arm64.zip`
- `app-0.0.1-osx-x64.zip`
- `app-osx-x64.zip`
- `app-darwin-universal.zip`
- `app-mac.zip` (no architecture specified - treated as `-x64`)

### Windows Assets
- Asset must be a `.zip` or `.exe` file.
- Asset name must include the `-win32` platform identifier.
- Asset name may specify the architecture (if not specified, will default to `-x64`):
- `-ia32` for 32-bit Windows.
- `-x64` for 64-bit Windows.
- `-arm64` for ARM-based Windows.
- `.exe` files without specific architecture tags or the `-win32` platform identifier are assumed to be `-x64` by default.

**Example asset names:**
- `app-win32-ia32-0.0.1.zip`
- `app-win32-ia32.zip`
- `app-0.0.1-win32-x64.zip`
- `app-win32-x64.zip`
- `app-win32-arm64.zip`
- `app-win32-arm64.exe`
- `app-win32-arm64-v1.2.3.exe`
- `app-win32.exe` (no architecture specified - treated as `-x64`)
- `app-installer.exe` (generic `.exe` file with no architecture or platform identifier specified - treated as `-x64`)

## Development

You'll first need to have a running Redis server. There are two options:
Expand Down