Loading...
Loading...
Compare original and translation side by side
porkytheblack/oasis/.github/workflows/tauri-release.yml@main.github/workflows/release.yamlporkytheblack/oasis/.github/workflows/tauri-release.yml@main.github/workflows/release.yamlDeveloper pushes tag → GitHub Actions triggers
↓
┌─────────────────────┴─────────────────────┐
↓ ↓ ↓
macOS Build Windows Build Linux Build
(Apple signed) (optional sign) (AppImage)
↓ ↓ ↓
└─────────────────────┬─────────────────────┘
↓
Tauri Update Signing
↓
┌─────────────────────┼─────────────────────┐
↓ ↓ ↓
Upload to R2 Register with Oasis GitHub Release
(CDN storage) (update manifest) (user downloads)Developer pushes tag → GitHub Actions triggers
↓
┌─────────────────────┴─────────────────────┐
↓ ↓ ↓
macOS Build Windows Build Linux Build
(Apple signed) (optional sign) (AppImage)
↓ ↓ ↓
└─────────────────────┬─────────────────────┘
↓
Tauri Update Signing
↓
┌─────────────────────┼─────────────────────┐
↓ ↓ ↓
Upload to R2 Register with Oasis GitHub Release
(CDN storage) (update manifest) (user downloads)pnpm add -D @tauri-apps/clipnpm add -D @tauri-apps/clinpx @tauri-apps/cli signer generate -w ~/.tauri/keys/your-app.keynpx @tauri-apps/cli signer generate -w ~/.tauri/keys/your-app.keyundefinedundefinedundefinedundefinedundefinedundefined{
"plugins": {
"updater": {
"pubkey": "YOUR_PUBLIC_KEY_HERE",
"endpoints": [
"https://oasis.yourdomain.com/{app_slug}/update/{{target}}-{{arch}}/{{current_version}}"
]
}
}
}{
"plugins": {
"updater": {
"pubkey": "YOUR_PUBLIC_KEY_HERE",
"endpoints": [
"https://oasis.yourdomain.com/{app_slug}/update/{{target}}-{{arch}}/{{current_version}}"
]
}
}
}./app/scripts/bump-version.sh patch
git push && git push --tags./app/scripts/bump-version.sh patch
git push && git push --tags| File | Format | Location |
|---|---|---|
| | App root |
| | src-tauri/ |
| | src-tauri/ |
| Status bar | | UI component |
./app/scripts/bump-version.sh| 文件 | 格式 | 位置 |
|---|---|---|
| | 应用根目录 |
| | src-tauri/ |
| | src-tauri/ |
| 状态栏 | | UI组件 |
./app/scripts/bump-version.sh| Target | Purpose | When to Use |
|---|---|---|
| GitHub Releases page | User downloads, changelog |
| Cloudflare R2 CDN | Fast artifact delivery |
| Update server | Auto-update manifests |
distribute_to: r2,oasis,github| 目标 | 用途 | 使用场景 |
|---|---|---|
| GitHub Releases页面 | 用户下载、变更日志 |
| Cloudflare R2 CDN | 快速制品分发 |
| 更新服务器 | 自动更新清单 |
distribute_to: r2,oasis,github| Secret | Description |
|---|---|
| Base64-encoded .p12 certificate |
| Certificate password |
| e.g., "Developer ID Application: Your Name" |
| Apple ID email |
| App-specific password (not Apple ID password) |
| 10-character Team ID |
| 密钥 | 说明 |
|---|---|
| Base64编码的.p12证书 |
| 证书密码 |
| 例如:"Developer ID Application: Your Name" |
| Apple ID邮箱 |
| 应用专用密码(非Apple ID密码) |
| 10位团队ID |
| Secret | Description |
|---|---|
| Private key from signer generate |
| Password used during generation |
| 密钥 | 说明 |
|---|---|
| 签名工具生成的私钥 |
| 生成时设置的密码 |
| Secret | Description |
|---|---|
| Account ID from dashboard |
| R2 API token ID |
| R2 API token secret |
| Bucket name |
| 密钥 | 说明 |
|---|---|
| 控制台中的账户ID |
| R2 API令牌ID |
| R2 API令牌密钥 |
| 存储桶名称 |
| Secret | Description |
|---|---|
| e.g., |
| CI authentication key |
| 密钥 | 说明 |
|---|---|
| 例如: |
| CI认证密钥 |
capabilities/default.json{
"permissions": [
"core:default",
"core:window:default",
"core:window:allow-start-dragging",
"shell:default",
"shell:allow-open",
"dialog:default",
"fs:default",
"http:default",
"updater:default",
"updater:allow-check",
"updater:allow-download-and-install",
"process:default",
"process:allow-restart"
]
}capabilities/default.json{
"permissions": [
"core:default",
"core:window:default",
"core:window:allow-start-dragging",
"shell:default",
"shell:allow-open",
"dialog:default",
"fs:default",
"http:default",
"updater:default",
"updater:allow-check",
"updater:allow-download-and-install",
"process:default",
"process:allow-restart"
]
}| Action | Command |
|---|---|
| Bump patch | |
| Bump minor | |
| Bump major | |
| Set version | |
| Preview | |
| Push release | |
| Redeploy | |
| 操作 | 命令 |
|---|---|
| 升级补丁版本 | |
| 升级次版本 | |
| 升级主版本 | |
| 设置版本 | |
| 预览 | |
| 推送发布 | |
| 重新部署 | |
tauri.conf.jsonR2_PUBLIC_URLv*v0.1.00.1.0contents: writeworkflow_dispatchdry_run: truetauri.conf.jsonR2_PUBLIC_URLv*v0.1.00.1.0contents: writeworkflow_dispatchdry_run: true