From abc843a6c79af7f1dc8eaea00b8b3270a46165c5 Mon Sep 17 00:00:00 2001 From: Andrey Prokopyuk Date: Fri, 4 Sep 2026 17:19:18 +0300 Subject: [PATCH 1/3] Prepare v0.0.12 release --- app/build.gradle.kts | 4 ++-- fastlane/metadata/android/en-US/changelogs/12000.txt | 3 +++ fastlane/metadata/android/ru-RU/changelogs/12000.txt | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/12000.txt create mode 100644 fastlane/metadata/android/ru-RU/changelogs/12000.txt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 64cab70..631a011 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,7 +11,7 @@ val releaseKeystorePath = providers.environmentVariable("MEGAPROXY_KEYSTORE_PATH val releaseKeystorePassword = providers.environmentVariable("MEGAPROXY_KEYSTORE_PASSWORD").orNull val releaseKeyAlias = providers.environmentVariable("MEGAPROXY_KEY_ALIAS").orNull val releaseKeyPassword = providers.environmentVariable("MEGAPROXY_KEY_PASSWORD").orNull -val versionCodeBase = 11 +val versionCodeBase = 12 val versionVariant = providers.gradleProperty("megaproxyVersionVariant") .orElse("universal") .get() @@ -46,7 +46,7 @@ android { // universal code below the ABI variants lets app stores prefer the // smaller compatible APK when both are available. versionCode = versionCodeBase * 1000 + versionVariantCode - versionName = "0.0.11" + versionName = "0.0.12" buildConfigField("String", "GIT_COMMIT_HASH", "\"$gitCommitHash\"") testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" if (versionVariant != "universal") { diff --git a/fastlane/metadata/android/en-US/changelogs/12000.txt b/fastlane/metadata/android/en-US/changelogs/12000.txt new file mode 100644 index 0000000..75f832d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/12000.txt @@ -0,0 +1,3 @@ +Improved navigation, connection diagnostics and traffic statistics. + +Added total session traffic with selectable IEC/SI units, exit IP and country checks with fallback services, broader UI test coverage, and safe APK artifacts for pull requests. diff --git a/fastlane/metadata/android/ru-RU/changelogs/12000.txt b/fastlane/metadata/android/ru-RU/changelogs/12000.txt new file mode 100644 index 0000000..e2d546b --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/12000.txt @@ -0,0 +1,3 @@ +Улучшены навигация, диагностика соединения и статистика трафика. + +Добавлены суммарный трафик с выбором IEC/SI-единиц, проверка выходного IP и страны с резервными сервисами, расширенные UI-тесты и безопасные APK-артефакты для pull request. From bb5557cac8b02346c834cbc02aefb5d517e7074f Mon Sep 17 00:00:00 2001 From: Andrey Prokopyuk Date: Fri, 4 Sep 2026 17:28:24 +0300 Subject: [PATCH 2/3] Fall back when CI KVM is unavailable --- .github/workflows/ci.yml | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c26743..6f3531f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -126,14 +126,23 @@ jobs: - name: Check out repository uses: actions/checkout@v6 - - name: Enable and verify KVM device access + - name: Detect and enable KVM device access + id: kvm run: | - echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \ - | sudo tee /etc/udev/rules.d/99-kvm4all.rules - sudo udevadm control --reload-rules - sudo udevadm trigger --name-match=kvm - test -r /dev/kvm - test -w /dev/kvm + if [[ -e /dev/kvm ]]; then + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \ + | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + fi + + if [[ -r /dev/kvm && -w /dev/kvm ]]; then + echo "available=true" >> "$GITHUB_OUTPUT" + echo "KVM is available; the emulator will use hardware acceleration" + else + echo "available=false" >> "$GITHUB_OUTPUT" + echo "::warning::KVM is unavailable; falling back to software acceleration" + fi - name: Set up JDK 21 uses: actions/setup-java@v5 @@ -166,12 +175,16 @@ jobs: with: api-level: 35 arch: x86_64 - disable-linux-hw-accel: false + disable-linux-hw-accel: ${{ steps.kvm.outputs.available != 'true' }} disable-animations: true emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none script: | - "$ANDROID_HOME/emulator/emulator" -accel-check + if [[ "$KVM_AVAILABLE" == "true" ]]; then + "$ANDROID_HOME/emulator/emulator" -accel-check + fi bundle exec fastlane android ui_tests + env: + KVM_AVAILABLE: ${{ steps.kvm.outputs.available }} - name: Verify UI tests actually ran run: | From dabb1abfd43d516c58734bcd4910aa34106890ef Mon Sep 17 00:00:00 2001 From: Andrey Prokopyuk Date: Fri, 4 Sep 2026 17:32:42 +0300 Subject: [PATCH 3/3] Run UI test lane directly in emulator action --- .github/workflows/ci.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f3531f..3d8ea38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -178,13 +178,7 @@ jobs: disable-linux-hw-accel: ${{ steps.kvm.outputs.available != 'true' }} disable-animations: true emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - script: | - if [[ "$KVM_AVAILABLE" == "true" ]]; then - "$ANDROID_HOME/emulator/emulator" -accel-check - fi - bundle exec fastlane android ui_tests - env: - KVM_AVAILABLE: ${{ steps.kvm.outputs.available }} + script: bundle exec fastlane android ui_tests - name: Verify UI tests actually ran run: |