Creates test version branches for testing app upgrade functionality. Use when preparing upgrade test builds, testing version migration, or when the user mentions test version, 9005.x.x version numbers, upgrade testing, or version upgrade QA. Automates branch creation, version bumping, and build number hardcoding for upgrade flow verification.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: creating-upgrade-test-version description: Creates test version branches for testing app upgrade functionality. Use when preparing upgrade test builds, testing version migration, or when the user mentions test version, 9005.x.x version numbers, upgrade testing, or version upgrade QA. Automates branch creation, version bumping, and build number hardcoding for upgrade flow verification. allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
Creating Upgrade Test Version
Automates the creation of test version branches with hardcoded build configurations for testing app upgrade functionality and version migration flows.
Workflow
Step 1: Gather Version Information
Ask the user for the test version number using AskUserQuestion:
Question: "What test version number should be used?"
Options:
- "9005.20.0" (example format)
- Custom input
The version should follow the pattern 9XXX.YY.Z where:
9XXXindicates a test version (e.g., 9005)YY.Zmatches the production version being tested
Step 2: Calculate Build Number
Calculate the build number as: current date (YYYYMMDD) + "00" suffix + 30
The build number must be 10 digits in format: YYYYMMDD00 + 30 = YYYYMMDD30
Example: If today is 20260113, the build number is 2026011300 + 30 = 2026011330
# Calculate build number (10 digits)
DATE=$(date +%Y%m%d)
BUILD_NUMBER=$((${DATE}00 + 30))
echo "Build number: $BUILD_NUMBER" # Output: 2026011330
Step 3: Create and Checkout Branch
Create a new branch named after the test version:
git checkout -b <test_version>
# Example: git checkout -b 9005.20.0
Step 4: Modify Configuration Files
Modify the following files in order:
4.1 Update .env.version
Change the VERSION field to the test version:
VERSION=<test_version>
BUNDLE_VERSION=1
4.2 Update .github/actions/shared-env/action.yml
In the "Setup ENV BUILD_NUMBER" steps, replace ALL build number logic with a hardcoded value. Remove the if/else conditions and simplify to:
- name: Setup ENV BUILD_NUMBER
shell: bash
run: |
echo "BUILD_NUMBER=<calculated_build_number>" >> $GITHUB_ENV
Remove both:
- "Setup ENV BUILD_NUMBER to 1" step
- "Setup ENV BUILD_NUMBER by workflow_run" step
Replace with single step that hardcodes the build number.
4.3 Update .github/workflows/release-android.yml
In the "Write .env.version" step, change:
echo "BUILD_NUMBER=${{ env.BUILD_NUMBER }}" >> .env.version
To:
echo "BUILD_NUMBER=<calculated_build_number>" >> .env.version
4.4 Update apps/mobile/android/app/build.gradle
In the defaultConfig block, update:
versionCode <calculated_build_number>
versionName "<test_version>"
Example:
versionCode 2026011330
versionName "9005.20.0"
Step 5: Commit and Push
git add -A
git commit -m "chore: prepare test version <test_version> with build number <build_number>"
git push -u origin <test_version>
File Locations Summary
| File | Change |
|---|---|
.env.version | Update VERSION |
.github/actions/shared-env/action.yml | Hardcode BUILD_NUMBER, remove conditionals |
.github/workflows/release-android.yml | Hardcode BUILD_NUMBER in .env.version write |
apps/mobile/android/app/build.gradle | Update versionCode and versionName |
Example Execution
For test version 9005.20.0 on date 2026-01-13:
- Build number =
2026011300 + 30=2026011330(10 digits) - Create branch
9005.20.0 - Set VERSION=
9005.20.0in.env.version - Hardcode BUILD_NUMBER=
2026011330in shared-env action - Hardcode BUILD_NUMBER=
2026011330in release-android workflow - Set versionCode=
2026011330, versionName="9005.20.0"in build.gradle - Commit and push
Validation Checklist
Before pushing, verify:
- Branch name matches test version
-
.env.versionVERSION field updated - Build number conditionals removed from shared-env
- Build number hardcoded in release-android workflow
- versionCode is numeric (build number)
- versionName is quoted string (test version)
More by OneKeyHQ
View allHelps fix ESLint errors and warnings in the OneKey codebase. Use when running yarn lint and encountering warnings, cleaning up code before committing, or fixing spellcheck, unused variable, or other ESLint warnings.
Guide for adding new blockchain chains to OneKey. Use when implementing new chain support, adding blockchain protocols, or understanding chain architecture. Triggers on chain, blockchain, protocol, network, coin, token, add chain, new chain.
Cross-platform development patterns for OneKey. Use when writing platform-specific code, handling platform differences, or understanding platform extensions. Triggers on platform, native, web, desktop, extension, mobile, ios, android, electron, react native.
Filters specific errors from Sentry reporting in this OneKey monorepo. Use when needing to ignore/suppress/filter Sentry errors, add error exclusions, or stop certain errors from being reported. Handles platform-specific filtering (desktop/mobile/web/extension).
