Tabby AI Keyboard uses GitHub Actions to automatically build and release Windows installers. This guide explains how the release workflow functions and how to trigger new releases.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/TabbyAIKeyboard/tabby/llms.txt
Use this file to discover all available pages before exploring further.
Release Workflow Overview
The release workflow is defined in.github/workflows/release.yml:1-46 and automatically:
- Builds the Windows application on a Windows runner
- Creates a production
.exeinstaller - Publishes a draft GitHub Release
- Attaches the installer to the release
Prerequisites
Configure GitHub Secrets
Add these secrets to your GitHub repository settings (Settings → Secrets and variables → Actions):
| Secret Name | Description |
|---|---|
GH_TOKEN | GitHub Personal Access Token (classic) with repo scope |
NEXT_PUBLIC_SUPABASE_URL | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Your Supabase anonymous key |
NEXT_PUBLIC_APP_NAME | Application display name |
NEXT_PUBLIC_APP_ICON | Application icon path |
NEXT_PUBLIC_API_URL | Backend API URL |
NEXT_PUBLIC_MEMORY_API_URL | Memory service API URL |
Triggering a Release
Method 1: Using npm script (Recommended)
Method 2: Manual Git commands
Alternatively, you can create and push tags manually:Method 3: Manual workflow dispatch
You can also trigger the workflow manually from GitHub:- Go to Actions tab in your repository
- Select Release workflow
- Click Run workflow
- Select the branch and click Run workflow
Manual dispatch is useful for re-running failed builds or testing the workflow.
Release Workflow Details
The workflow runs onwindows-latest and executes the following steps:
Release Artifacts
After the workflow completes successfully:- A draft release is created at
https://github.com/YOUR-USERNAME/YOUR-REPO/releases - The Windows installer (
.exe) is automatically attached - The release name follows the format:
v${version}(e.g.,v0.1.1)
Releases are created as drafts by default. You’ll need to manually publish them from the GitHub Releases page after reviewing.
Workflow Triggers
The release workflow triggers on:- Tag push: Any tag starting with
v(e.g.,v0.1.0,v1.2.3-beta) - Manual dispatch: Can be triggered manually from GitHub Actions UI
Best Practices
Versioning Strategy
Follow semantic versioning:- Major (v1.0.0): Breaking changes
- Minor (v0.1.0): New features, backwards compatible
- Patch (v0.0.1): Bug fixes
Pre-release Tags
For beta or alpha releases:Testing Before Release
-
Test the local build first:
- Verify the installer works on a clean Windows system
- Only then trigger the GitHub release
Troubleshooting
Workflow Fails at Build Step
- Check that all GitHub Secrets are configured correctly
- Review the workflow logs for specific error messages
- Ensure the version in
package.jsonis valid
Release Not Created
- Verify
GH_TOKENhasreposcope - Check that the tag format matches
v*pattern - Ensure electron-builder publish configuration is correct
Multiple Releases for Same Tag
If you push the same tag multiple times:- Delete the existing release from GitHub
- Delete the tag:
git tag -d v0.1.0 && git push origin :refs/tags/v0.1.0 - Create a new tag with incremented version