CtrlK
BlogDocsLog inGet started
Tessl Logo

1k-app-upgrade-test

Create test versions to verify app auto-update functionality and version migration.

48

Quality

53%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.skillshare/skills/1k-app-upgrade-test/SKILL.md
SKILL.md
Quality
Evals
Security

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:

  1. .env.version

    • Set VERSION to test version
  2. .github/actions/shared-env/action.yml

    • Update version in outputs section
  3. .github/workflows/release-android.yml

    • Hardcode BUILD_NUMBER in "Write .env.version" step
  4. .github/workflows/release-ios.yml

    • Hardcode BUILD_NUMBER in "Write .env.version" step
  5. .github/workflows/daily-build.yml

    • Hardcode BUILD_NUMBER in "Setup ENV" step
  6. 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

FileWhat to Update
.env.versionVERSION
.github/actions/shared-env/action.ymlHardcode BUILD_NUMBER, remove conditionals
.github/workflows/release-android.ymlHardcode BUILD_NUMBER in .env.version write
.github/workflows/release-ios.ymlHardcode BUILD_NUMBER in .env.version write
.github/workflows/daily-build.ymlHardcode BUILD_NUMBER in Setup ENV step
apps/mobile/android/app/build.gradleversionCode, 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-dev-commands - Git and development workflow conventions
  • /1k-dev-commands - Build and release commands
Repository
OneKeyHQ/app-monorepo
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.