🚴 Build and Test BikeControl / Workspace tests (push) Successful in 13m53s
Build & Release / Run tests (push) Successful in 6m40s
🚴 Build and Test BikeControl / Android compile check (push) Successful in 3m41s
Build & Release / Build Linux (deb + AppImage) (push) Successful in 16m44s
Build & Release / Build Arch package (push) Successful in 32m53s
Build & Release / Build Android APK (push) Successful in 21m20s
Build & Release / Create release (push) Successful in 12s
The tag stays the single source of truth — ci-set-version.sh rewrites this key on a tag build and ci-android-version-code.sh derives the versionCode from it. Committing the same values keeps a local or sideloaded build from reporting 0.1.0, and keeps the checked-in number greppable and honest between releases. 1000 + major*10000 + minor*100 + patch puts 0.2.0 at 1200, which is what CI will compute for v0.2.0. The workspace Cargo.toml is deliberately left alone: editing it invalidates Cargo.lock and breaks every --locked build in the same run, to change a number that appears nowhere but the binary's own metadata. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>