diff --git a/README.md b/README.md index eb76e2f..4062bc9 100644 --- a/README.md +++ b/README.md @@ -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: