https://v2.tauri.app/start/prerequisites/
https://v2.tauri.app/reference/cli/
Note
This repo uses bun. It is recommended to use cargo for the tauri cli commands, but bun may also be used.
cp sample.env .env
bun i
# If the install did not automatically run this:
bun run prisma generatecargo tauri dev --config src-tauri/tauri.dev.conf.jsonEnsure your commit messages and PR titles follow the following convention:
<type>(<scope>)?: <description>
Where:
- type: The type of change -
feat,fix,chore,breaking,dev - scope: Optional scope of the change (e.g.
client,src-tauri,prisma,.github) - description: A brief description of the change
Requires updater signing keys for the update artifacts:
export TAURI_SIGNING_PRIVATE_KEY="Path or content of your private key"
# optionally also add a password
export TAURI_SIGNING_PRIVATE_KEY_PASSWORD=""Creating the key is a ONE TIME operation:
cargo tauri signer generate -w ./.tauri/exam-env.keycargo tauri build --config src-tauri/tauri.dev.conf.json
# OR, build a debug build
cargo tauri build --debugThe tauri.conf.dev.json config does not sign the bundle, and does not create updater artifacts. Also, it disables the contentProtected feature so the app can be screenshotted.
.\scripts\WindowsEnv.ps1 -Command "cargo tauri build --config src-tauri/tauri.microsoftstore.conf.json --bundles msi,updater --target x86_64-pc-windows-msvc"The project uses an automated deployment workflow consisting of three GitHub Actions:
Manually triggered workflow to create a version bump PR:
- Go to Actions → version-bump → Run workflow
- Select:
- Release Type:
patch,minor, ormajor
- Release Type:
- The workflow will:
- Calculate the new version based on the release type
- Update
package.json,src-tauri/Cargo.toml, andsrc-tauri/tauri.conf.json - Create a PR with title:
release(X.X.X): <RELEASE_TYPE> - Add label:
release_type: <RELEASE_TYPE>
Automatically triggered when a version bump PR is merged:
- Verifies the PR was created by the github-actions bot
- Extracts the release type from the PR label (e.g.,
release_type: patch) - Triggers the publish workflow with the following inputs:
- release_type: extracted from the PR label
- environment: production
Builds and publishes the application:
- Triggered automatically by auto-release or manually via Actions
- Builds the application for all platforms
- Creates a GitHub release with the version from
src-tauri/tauri.conf.json - Uploads build artifacts and updater files
- Run the
version-bumpworkflow with desired release type - Review and merge the generated PR
- The
auto-releaseworkflow automatically triggerspublish - Monitor the publish workflow for completion
- Run the
publishworkflow directly with inputs:- release_type:
patch,minor, ormajor - environment:
stagingordevelopment
- release_type: