gerbil/.github/RELEASE.md

71 lines
1.9 KiB
Markdown

# Release Workflow
This GitHub Action workflow automatically builds and releases FriendlyKobold for macOS, Windows, and Linux.
## How to Create a Release
### Method 1: Tag-based Release (Recommended)
1. Create and push a new tag:
```bash
git tag v1.0.0
git push origin v1.0.0
```
2. The workflow will automatically:
- Build the app for all platforms
- Run type checking and linting
- Create a GitHub release
- Upload the built files as release assets
### Method 2: Manual Release
1. Go to the "Actions" tab in your GitHub repository
2. Select the "Release" workflow
3. Click "Run workflow"
4. Enter the tag version (e.g., `v1.0.0`)
5. Click "Run workflow"
## Generated Files
The workflow creates the following files:
- **macOS**: `FriendlyKobold-{version}.dmg`
- **Windows**: `FriendlyKobold Setup {version}.exe`
- **Linux**: `FriendlyKobold-{version}.AppImage`
## Requirements
- The repository must have a `GITHUB_TOKEN` (automatically provided by GitHub)
- Node.js 20 and npm for building
- All dependencies must be properly defined in `package.json`
## Troubleshooting
If the build fails:
1. Check that all dependencies are installed correctly
2. Ensure the build script works locally: `npm run build`
3. Check the workflow logs for specific error messages
4. Verify that the version tag follows semantic versioning (e.g., `v1.0.0`)
## Adding Icons
To add custom icons for your releases:
1. Create an `assets` folder in the project root
2. Add the following icon files:
- `icon.icns` for macOS
- `icon.ico` for Windows
- `icon.png` for Linux
3. Update the `build` section in `package.json` to reference these icons
## Customizing the Release
You can customize the release by editing `.github/workflows/release.yml`:
- Change the supported platforms in the `matrix.os` array
- Modify the release notes template
- Add additional build steps or checks
- Change the artifact upload logic