This project belongs to Project Graph, a next-generation node diagram drawing tool. If you need some examples of Turbo Tauri, please check the .github/workflows
directory of Project Graph.
GIVE ME A STAR
Important
This workflow is still in beta. Please report any issues you encounter to the issue tracker.
Important
We'll never support iOS!
Turbo Tauri is a GitHub Actions workflow designed to automate the building and releasing of Tauri applications. This workflow supports multiple platforms including Linux, Windows, macOS, and Android, offering lots of customization options.
- β‘ Remote Cache support for faster builds (Powered by Turbo)
- π Automatically creates GitHub releases
- π¨ Builds the frontend interface
- π¦ Builds and releases Tauri applications
- β¬οΈ Generates updater JSON files (Only supports Linux (for now))
- π¦ Updates AUR package versions
To use the Turbo Tauri workflow, add the following configuration to your GitHub repository:
# .github/workflows/build.yml
name: Build
on:
push:
branches:
- master
jobs:
build:
uses: LiRenTech/turbo-tauri/.github/workflows/turbo-tauri.yml@master
permissions:
contents: write # To create releases
with:
# See below
android_key_path:
app_root:
app_version:
app_version_android:
aur_key_algorithm:
aur_package_name:
delete_release:
prerelease:
release_name:
release_notes:
release_tag:
task_build:
task_build_android:
turbo_team:
secrets:
# See below
ANDROID_KEY_ALIAS:
ANDROID_KEYSTORE:
ANDROID_KEYSTORE_PASSWORD:
AUR_SSH_PRIVATE_KEY:
BUILD_ENV:
TAURI_SIGNING_PRIVATE_KEY:
TAURI_SIGNING_PRIVATE_KEY_PASSWORD:
TURBO_TOKEN:
Parameter | Description | Required | Default |
---|---|---|---|
app_root |
The root directory of the application. | Yes | . |
app_version |
The version of the application. | Yes | "0.0.0" |
app_version_android |
The application version for Android, CANNOT be 0.0.0 |
No | "0.0.1" |
release_name |
The name of the release. | Yes | "Release" |
release_notes |
The release notes. | No | "" |
release_tag |
The tag used for the release. | Yes | "v0.0.0" |
prerelease |
Whether to mark the release as a prerelease. | No | false |
delete_release |
Whether to delete the release. | No | true |
turbo_team |
The team used for Turbo. | Yes | N/A |
android_key_path |
The path to the Android key file, relative to app_root | No | "upload.jks" |
aur_package_name |
The name of the AUR package. | No | "" |
aur_key_algorithm |
The algorithm used for the AUR key. | No | "ed25519" |
task_build |
The task to run for building the app. | No | "tauri:build" |
task_build_android |
The task to run for building the app for Android. | No | "tauri:build:android" |
Secret | Description | Required | Default |
---|---|---|---|
TURBO_TOKEN |
Token used to enable Turbo remote caching. | No | N/A |
TAURI_SIGNING_PRIVATE_KEY |
Private key used to sign application binaries for updater support. | No | N/A |
TAURI_SIGNING_PRIVATE_KEY_PASSWORD |
Password for the signing key. | No | N/A |
ANDROID_KEYSTORE |
Base64 of jks file for APK signing. |
No | N/A |
ANDROID_KEYSTORE_PASSWORD |
Password for the keystore. | No | N/A |
ANDROID_KEY_ALIAS |
Alias for the key. | No | N/A |
BUILD_ENV |
Environment variables to pass to tauri build . Format: key1=value1\\nkey2=value2\\n... . |
No | N/A |
AUR_SSH_PRIVATE_KEY |
SSH private key for AUR publishing. | No | N/A |
- Create Release: Automatically creates a GitHub release.
- Build Frontend: Builds the frontend interface using pnpm and Node.js.
- Publish Tauri: Builds and releases Tauri applications for various platforms.
- Generate Updater JSON: Generates a JSON file containing version information and release notes.
- Bump AUR Version: Updates the version information of the AUR package.
- Ensure your GitHub repository contains the source code and configuration files for your Tauri application.
- Adjust the parameters and steps in the workflow according to your application's requirements.
If you have any suggestions or feature requests, please submit an Issue or Pull Request.