203 Commits

Author SHA1 Message Date
MohitMaliFtechiz
53e6cf3f92 Fixed: After upgrading Gradle, we were unable to upload the AAB because APK splitting was enabled.
* ABI splitting is now enabled only when needed (i.e., when building an APK) through an environment variable (APK_BUILD). By default, ABI splitting remains disabled.
* Refactored the workflow to align with this change.
* Updated the README to document this change, ensuring that everyone is aware of this feature.
2025-04-03 15:14:07 +05:30
MohitMaliFtechiz
0bdfaf4541 Added Android 16 emulator in CI to run the test cases on it. 2025-03-31 12:11:09 +05:30
MohitMaliFtechiz
6ac9c5ef75 Removed the uploading of unnecessary files in the release.
* Now, only APK files will be uploaded in the release.
2025-02-14 11:34:31 +05:30
MohitMaliFtechiz
1690a76275 Bumped the upload-artifact action from version 3 to version 4.
* The CI pipeline was failing due to the deprecated version of `upload-artifact` (v3).
* Upgrading to version 4 resolves the deprecation error and ensures compatibility with the latest features and improvements.
2025-01-31 14:51:22 +05:30
MohitMaliFtechiz
12c0e17197 Changed the website, and Nightly APKs name.
* Before the name was `kiwix-3.13.0.apk` for the release APK(with app id org.kiwix.kiwixmobile app id) we were uploading on the website. But now, we are uploading the standalone APK on the website(with org.kiwix.kiwixmobile.standalone app id) it is a breaking change, and users are not aware of it. So we are changing the APK name so that users can understand this change.
* Renamed the nightly APK since there also we are uploading the standalone APK.
2025-01-19 16:20:53 +01:00
MohitMaliFtechiz
0ec90f06b0 Added logs to check whether the environment variable is set, for debugging purposes.
* Improved the ID of the "Retrieve date from git revision" job.
* Removed unnecessary conditions from the workflow.
2025-01-06 13:17:16 +05:30
MohitMaliFtechiz
befd7d389a The testing_release job is skipped, if the application is being uploaded with the same version as the previously uploaded one, and Play Store gives the error for same version code. This prevents the CD pipeline from failing due to this error, while for all other errors, the workflow will fail as expected. 2025-01-04 16:24:47 +05:30
MohitMaliFtechiz
66f3d4d7cd Refactored all CD pipelines to generate APKs and app bundles based on the relevant git revision.
* The date is extracted from the specified git revision and set in the `KIWIX_ANDROID_RELEASE_DATE` environment variable, and the version code is generated for that date.
* This feature has been added to the Release section in the README file.
2025-01-04 12:24:26 +05:30
MohitMaliFtechiz
a371ae6d67 We refactored our dummy_bundle.yml workflow to generate the dummy bundle and APKs based on a specified date, using a new tag format dummy_bundle_and_apk_v*, where * is replaced by the date in YYYY_MM_DD. This date is extracted and set as an environment variable to generate the app bundle and APK for that date, defaulting to the current date if no date is provided.
* Now, our `dummy_bundle.yml` will generate both the app bundle and APKs, so if we need the APK for a specified date, we can easily retrieve it.
* Added comments in both workflows to understand the flow of the workflows.
2025-01-04 10:02:05 +05:30
MohitMaliFtechiz
ae7988f112 Refactored testing_release CD workflow to generate and publish the application on the Play Store based on a specified date, using a new tag format internal_testing_v* where * is replaced by the date, which is extracted and set as an environment variable to generate the app bundle for that date, defaulting to the current date if no date is provided, and uploading the generated app bundle to the Play Store. 2025-01-04 10:01:55 +05:30
MohitMaliFtechiz
cd6d5e2604 Re-enabled the all emulators in CI. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
dfabe27a91 Added Android 15 emulator in CI to run the test cases on Android 15 device. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
6ecbec0057 Fixed: APK files missing at releases since v3.8.1 2024-11-20 19:15:20 +01:00
MohitMaliFtechiz
da3654426e Generated a dummy bundle to manually upload it to the playStore via CI.
* We have created a dummy_bundle.yml file that will trigger on the dummy_bundle tag and generate the app bundle, which can be uploaded to the Play Store or used in other scenarios.
2024-10-18 15:53:56 +02:00
MohitMaliFtechiz
05eecc2218 Refactored the CI to run test cases in separate jobs, as the emulator would sometimes shut down when running multiple test cases in sequence. Previously, we were executing all tests within a single job, which significantly increased the CI execution time. Additionally, there were occasional "insufficient storage" errors in the emulator when reaching the final stages of the CI. 2024-10-01 10:55:16 +05:30
MohitMaliFtechiz
4339608132 Running tablet job after all the mobile jobs are completed. 2024-09-30 23:07:18 +05:30
MohitMaliFtechiz
a2a654b212 We have lowered the RAM of the emulator for some test cases since they do not require much memory. As a result, we downgraded the RAM for these specific CI environments. 2024-09-30 23:07:18 +05:30
MohitMaliFtechiz
2c613620e6 Testing on pixel_c profile instead of pixel_tablet. 2024-09-30 23:07:18 +05:30
MohitMaliFtechiz
9fadeff0cc Testing file opening from browser, file manager, and via file piker on tablet in CI. 2024-09-30 23:07:18 +05:30
MohitMaliFtechiz
0278fa8a0c Added test cases to the CI for testing the minified version of the application to prevent this type of error from happening in the future. 2024-09-13 16:59:01 +05:30
MohitMaliFtechiz
16cbe2a1e0 Try creating the codecov report on Api level 30 since some test cases are running on this api level like testing the WifiHotspot, ShowingPlayStoreRestriction in HelpFragment, etc. 2024-09-04 16:55:12 +05:30
MohitMaliFtechiz
95ade4b28c Configured the emulator to use 3GB of RAM and a 1024MB SD card instead of 4GB of RAM and a 2048MB SD card to reduce resource usage on CI.
* Since the emulator works well with 3GB of RAM and a 1024MB SD card on CI for running test cases for custom apps, it is better to use this configuration for the app's test cases as well.
2024-09-04 16:19:44 +05:30
MohitMaliFtechiz
9d3c275ca8 Re-enabled the emulator caching in CI. 2024-09-04 15:06:23 +05:30
MohitMaliFtechiz
9ecadfdfab Downgrading the emulator configuration for custom app test cases since there is only a single test case runs so there is no need of extra ram and sd card size. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
5bdcaf3e56 Re-enabled KVM for better performance of emulator. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
f40b3679c3 Removed the caching of emulator from CI. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
07cca85c95 Improved the CI for using the same emulator. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
040e548391 Removed the canary channel from CI to run the emulator on stable versions.
* Added the emulator boot timeout so that emulator can boot if it takes long in booting.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
6a67c8bd5f Improved the CI for running custom app test cases.
* The emulator was not running on API level 25 so now we are directly running the new emulator for this without canary channel.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
fce89ef2b3 Updated the CI to run on separate emulator for custom app test cases.
* Upgraded the `uiautomator` version to `2.3.0`.
* Upgraded the `appcompat` version to `1.7.0`.
* Upgraded the coroutines version to `1.8.1`.
* Upgraded the `androidx.test:runner` version to `1.6.1`.
* Upgraded the `androidx.test:core` version to `1.6.1`.
* Upgraded the `androidx.test:orchestrator` version to `1.5.0`.
* Upgraded the `io.mockk:mockk` version to `1.13.12`.
* Upgraded the `org.junit.jupiter:junit-jupiter` version to `5.11.0`.
* Upgraded the `org.assertj:assertj-core` version to `3.26.3`.
* Upgraded the `androidx.annotation:annotation` version to `1.6.0`.
* Improved the SearchStateTest.
* Fixed some deprecated code which is deprecated in new dependencies.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
3f7d0f7214 Updated the testing_release.yml to use the JAVA 17.
* Updated the README file to show that now our project requires the JAVA 17 instead of JAVA 11.
* Updated the pre-commit failed message to properly show the error information.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
55d5019b2f Kept the emulator running after creating the instrumentation coverage so that the same emulator can be used for testing custom apps. This will reduce the CI timing since it will not create the new emualtor to run the custom app test cases. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
23fa4500df Improved the downloading for custom apps.
* Improved the CI to run the test cases for custom app on same emulator.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
3d29faf02e Running Android 13 test cases on default apis. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
79b441b29a Trying to run the android 14 emulator on default apis. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
302580b425 Fixed the CI was not running on emulators. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
19e18f6276 Configured CI to use Java 17 instead of Java 11 because new gradle version are needed Java 17 to compile the project. 2024-08-16 15:35:10 +00:00
MohitMali
f066272087 Running the Android 14 test cases with aosp_atd emulators since default apis is not available for Android 14. 2024-08-16 15:35:10 +00:00
Gouri Panda
86b977c950 Add API 34 to default 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
88a83be01d Updated to Android 14 & refactored some methods inorder to compile with the SDK 14 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
a76cef9cee Introduced new standalone apk for website and nightly.
* Created a new package name for the website and nightly APK so that the playStore does not recognize it and do not show updates for these apks.
* Refactored the release CI to upload the app with this new appId.
2024-07-22 18:37:38 +05:30
MohitMaliFtechiz
79add751a4 Updated the remaining action in pull_request.yml file. 2024-07-19 18:56:13 +05:30
MohitMaliFtechiz
8e62954d4a Using latest versions of actions.
* Updated the version of actions used in our workflows.
2024-07-19 18:56:04 +05:30
MohitMaliFtechiz
882784d0ea Fixed: Automatically publish to PlayStore for internal testing team.
* Implemented a method to automatically generate a unique version code by calculating the number of days from the reference date (July 17, 2024) to the current date and adding this value to the base version code (231101) from the last release.
* Added a workflow that automatically generates the bundle and uploads it to internal testing every Monday at 12:00. This workflow will also trigger under the `internal_testing` tag.
* Since we are implementing this, it is necessary to directly release the bundle to internal testing instead of placing it in draft (to eliminate manual steps), so we have refactored our code accordingly.
2024-07-19 18:55:48 +05:30
MohitMaliFtechiz
31e1458928 Fixed emulator is not starting while running custom apps test cases. 2024-07-03 20:27:28 +05:30
MohitMaliFtechiz
2a4c9c51d4 Added test cases for custom apps so that we can avoid the error in search functionality of custom apps. 2024-07-03 16:25:41 +05:30
MohitMaliFtechiz
ed0ffad86c Uploading nightly APK with released signature.
* Uploading nightly APK with a released signature so that APK can update, if a user downloads the new version of nightly like our released APK.
* Modified the nightly CI for this change.
2024-05-14 15:34:27 +05:30
MohitMaliFtechiz
396e291028 Added the heap size in API level 25 emulator. 2024-05-13 18:06:36 +05:30
MohitMaliFtechiz
34928323d5 Updated minimum SDK version to 25.
* Updated the `README.md` file for this new change.
* Removed the API level 24 from CI and added the API level 25 since now our minimum SDK version is 25.
* Renamed CompatV24 file since we have upgraded the minimum SDK version so this fileName was irrelevant.
2024-05-13 13:03:21 +05:30
MohitMaliFtechiz
b0caf69715 Changed the runner version to ubuntu-22.04. 2024-04-16 10:50:03 +05:30