Test Version Creation
Automates creation of test version branches with hardcoded build configurations for testing app upgrade functionality and version migration flows.
Quick Reference
Version Pattern
Test versions follow the pattern: 9XXX.YY.Z
-
9XXX
-
Test version indicator (e.g., 9005)
-
YY.Z
-
Matches production version being tested
Example: 9005.20.0 for testing production 5.20.0
Build Number Formula
Build number is calculated as:
DATE=$(date +%Y%m%d) BUILD_NUMBER=$((${DATE}00 + 30))
Format: 10 digits = YYYYMMDD00 + 30
Example: If today is 20260130 , build number is 2026013030
Workflow
Step 1: Get Version Information
Ask user for test version number:
-
Format: 9XXX.YY.Z
-
Example: 9005.20.0
Step 2: Calculate Build Number
DATE=$(date +%Y%m%d) BUILD_NUMBER=$((${DATE}00 + 30)) echo "Build number: $BUILD_NUMBER"
Step 3: Create Branch
git checkout -b <test_version>
Example: git checkout -b 9005.20.0
Step 4: Modify Configuration Files
Update these files in order:
.env.version
-
Set VERSION to test version
-
Set BUILD_NUMBER to calculated value
.github/actions/shared-env/action.yml
-
Update version in outputs section
.github/workflows/release-android.yml
-
Update versionName in android-build job
apps/mobile/android/app/build.gradle
-
Update versionCode
-
Update versionName
Step 5: Commit and Push
git add . git commit -m "chore: create test version <version>" git push origin <test_version>
Files to Modify
File What to Update
.env.version
VERSION, BUILD_NUMBER
.github/actions/shared-env/action.yml
outputs.version
.github/workflows/release-android.yml
versionName
apps/mobile/android/app/build.gradle
versionCode, versionName
Detailed Guide
For comprehensive test version creation workflow with examples, see upgrade-test-version.md.
Topics covered:
-
Version number format and conventions
-
Build number calculation formula
-
Step-by-step file modification instructions
-
Configuration file examples
-
Git workflow for test versions
-
QA testing considerations
When to Use This Skill
-
Creating test builds for QA upgrade testing
-
Testing version migration flows
-
Verifying app upgrade functionality
-
Creating release candidates with specific build numbers
-
Testing version-specific features or fixes
Related Skills
-
/1k-git-workflow
-
Git branching conventions
-
/1k-dev-commands
-
Build and release commands