Build Guide - beqare/RustTube GitHub Wiki
Build Guide
This page explains how to build RustTube and how the build workflow is set up.
Build Scripts
RustTube uses:
scripts/build.ps1scripts/build.bat
The batch file is only a small launcher for the PowerShell script.
Main Build Options
When you run the build script, you can choose between:
0= Check GitHub CLI1= Build app package2= Build app package + installer3= Build installer only
Option Details
0. Check GitHub CLI
This checks whether:
- GitHub CLI (
gh) is installed - GitHub CLI authentication is working
Use this if you want to publish GitHub releases from the script.
1. Build App Package
This option:
- increases the patch version in
Cargo.toml - builds the app in release mode
- creates the packaged output in:
dist\RustTube
2. Build App Package + Installer
This option:
- increases the patch version in
Cargo.toml - builds the app in release mode
- creates the packaged app output
- builds the installer with Inno Setup
- optionally asks whether a GitHub release should be created
3. Build Installer Only
This option:
- does not bump the version
- does not rebuild the app
- only creates the installer from the current packaged output
Use this if the app was already built and you only want to regenerate RustTube-Setup.exe.
Running the Build Script
From PowerShell
.\scripts\build.ps1
You can also pass a mode directly:
.\scripts\build.ps1 1
.\scripts\build.ps1 2
.\scripts\build.ps1 3
From Batch
scripts\build.bat
Version Handling
When using build mode 1 or 2, RustTube automatically increases the patch version in Cargo.toml.
Example:
0.1.0->0.1.10.1.1->0.1.2
This version is also used for:
- the app build
- the window title
- the installer metadata
Build Output
App Package
The packaged app output is written to:
dist\RustTube
Installer
The installer output is written to:
dist\installer
Installer file name:
RustTube-Setup.exe
GitHub Release Support
After an installer build, the script can optionally:
- create a GitHub release
- upload
RustTube-Setup.exe
This requires:
- GitHub CLI installed
- GitHub CLI authenticated
- access to the target GitHub repository
Notes
- The installer is built with Inno Setup
- The app itself is built with Cargo in release mode
- Build mode
3is useful if only installer metadata or packaging changed