Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 18 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -166,12 +175,10 @@ 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
bundle exec fastlane android ui_tests
script: bundle exec fastlane android ui_tests

- name: Verify UI tests actually ran
run: |
Expand Down
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down Expand Up @@ -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") {
Expand Down
3 changes: 3 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/12000.txt
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions fastlane/metadata/android/ru-RU/changelogs/12000.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Улучшены навигация, диагностика соединения и статистика трафика.

Добавлены суммарный трафик с выбором IEC/SI-единиц, проверка выходного IP и страны с резервными сервисами, расширенные UI-тесты и безопасные APK-артефакты для pull request.