Skip to content

Commit afb4330

Browse files
Copilotstolinski
andcommitted
Add documentation for build and release process
Co-authored-by: stolinski <669383+stolinski@users.noreply.github.com>
1 parent 5296645 commit afb4330

2 files changed

Lines changed: 73 additions & 0 deletions

File tree

BUILD.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Build and Release Process
2+
3+
This project uses GitHub Actions to automate the build and release process for the Tauri application.
4+
5+
## Workflows
6+
7+
### Release Workflow (`.github/workflows/release.yml`)
8+
9+
Automatically triggered when a git tag starting with `v` is pushed (e.g., `v1.0.3`).
10+
11+
#### What it does:
12+
1. **Multi-platform Build**: Builds the Tauri application for:
13+
- macOS (Apple Silicon - aarch64)
14+
- macOS (Intel - x86_64)
15+
- Linux (x86_64)
16+
- Windows (x86_64)
17+
18+
2. **Auto-Updater Support**: Generates `updater.json` file containing:
19+
- Version information
20+
- Release notes
21+
- Download URLs for each platform
22+
- Cryptographic signatures for security
23+
24+
3. **Release Management**:
25+
- Creates a draft release
26+
- Uploads all build artifacts
27+
- Adds the updater.json file
28+
- Publishes the release
29+
30+
#### To create a new release:
31+
```bash
32+
git tag v1.0.3
33+
git push origin v1.0.3
34+
```
35+
36+
### CI Workflow (`.github/workflows/ci.yml`)
37+
38+
Runs on every push to `main` and on pull requests to ensure code quality.
39+
40+
#### What it does:
41+
1. **Frontend Testing**:
42+
- Lints the code
43+
- Builds the frontend
44+
45+
2. **Tauri Build Test**:
46+
- Tests the Tauri build process (without bundling)
47+
- Ensures all dependencies are correctly configured
48+
49+
## Auto-Updater Configuration
50+
51+
The application is configured with Tauri's auto-updater plugin:
52+
53+
- **Endpoint**: `https://github.com/syntaxfm/production-assistant/releases/latest/download/updater.json`
54+
- **Dialog**: Enabled (shows update prompts to users)
55+
- **Signature Verification**: Automatic (handled by tauri-action)
56+
57+
## Dependencies
58+
59+
The workflows automatically handle:
60+
- Node.js and pnpm setup
61+
- Rust toolchain installation
62+
- Platform-specific system dependencies
63+
- Tauri CLI tools
64+
65+
## Security
66+
67+
- All releases are signed using Tauri's built-in signing process
68+
- Signatures are verified during the update process
69+
- Only releases created through the GitHub workflow are trusted

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,7 @@ A handy helper, to help with Syntax's production.
77
- Svelte(5) Kit
88
- Tauri
99
- FFMPEG
10+
11+
## Build and Release
12+
13+
This project uses automated GitHub Actions for building and releasing. See [BUILD.md](BUILD.md) for detailed information about the build process and how to create releases.

0 commit comments

Comments
 (0)