1k-test-version
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
More from onekeyhq/app-monorepo
react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
109implementing-figma-designs
Implements Figma designs 1:1 using OneKey component library (还原设计稿).
771k-coding-patterns
Coding patterns and best practices — React components, promise handling, and TypeScript conventions.
691k-code-quality
Code quality standards — lint (eslint/oxlint), type check (tsc), pre-commit hooks, and comment conventions. All comments must be in English.
681k-date-formatting
Date and time formatting — use OneKey dateUtils (formatDate/formatTime) instead of native JS date methods.
681k-git-workflow
Git workflow and conventions — branching, commit messages, and PR creation.
68