Commit Graph

14 Commits

Author SHA1 Message Date
Honza 757713d654 Kotlin 2.1.10 2025-03-13 09:39:58 +01:00
Honza Rychnovský aa2b38cead
F-Droid and GitHub Release support (#1787)
* F-Droid support (#1784)

* [#1768] `Zashi Foss` build type (#1769)

* [#1768] Zashi Foss build type

- Closes #1768
- Changelog updated

* Support `zcashtestnetFoss` build type provider

* Code cleanup

* Build type converted to dimension

* CI update

* Code cleanup

* Code cleanup

Closes #1763

* CI update

* CI update

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>

* Support `zcashtestnetFoss` build type provider

* Remove FB Crashlytics for Debug and Foss BT

* Helper comments

Remove these helper comments before merging

* Firebase FOSS removal

* Update screen removed

* QR scanner set to zxing for foss version

* Compilation hotfix

* Foss suffix removed

* Revert "Foss suffix removed"

This reverts commit 881ef0d4d43ff4a391d31091dd4d3672770688aa.

* Version code hotfix for fdroid

* Minor alternative-stores changes (#1777)

- Fix app name
- Tests fix

* Test fdroid 855 (#1775)

Revert "#1763 Keystone confirmation flow design update (#1773)"

* Compilation hotfix

* Change default `verssionCode` back to 1

As it’s not needed for F-Droid version passing

* Change the default `versionName` format

- To align with the F-Droid requirements
- UI still displays the same format

* Checkout hotfix

* Compilation hotfix

---------

Co-authored-by: Honza Rychnovský <honza@rychnovsky.dev>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>

* GitHub Releases (#1786)

* Create release.yaml

* Update release.yaml

---------

Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>
Co-authored-by: Milan Cerovsky <milan@z.cash>

* F-Droid reproducible builds (#1788)

* Uncomment `check_secrets`

* Build Foss app variant

* Remove unnecessary variables

* Add striping of non-foss files

* Update the FOSS related steps

* Versions update

* Versions update

* Fix version files path

* Fix stripping step

* Rework non-foss stripping step

* Fix stripping with sed

* Strip out plugins

* Update release.yaml

* Integrations show only when flexa and coinbase is set up

* Version name and version code artifact fix

* Pipeline signing update

* Revert "Pipeline signing update"

This reverts commit 0b509907a7.

* Fdroid stripping update

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Remove support email from gradle variables

- Moved to strings instead
- So we can leverage reproducible builds from F-Droid

* Disable dependency metadata in apks

* Fix strip step timeout

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>
Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>

* Update fastlane changelogs

* Changelog update

---------

Co-authored-by: Milan <milan@z.cash>
Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>
2025-02-20 20:42:02 +01:00
Milan d29b0f7bb2
Dependency injection implementation (#1513)
* Dependency injection implementation

* Code cleanup

* Code cleanup

* Test hotfix

* Code cleanup

* Code cleanup

* Code cleanup

* Merge dependencies to bundle

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-04 15:36:59 +02:00
Carter Jernigan 3d439ae6a1
[#751] AGP 8.0.2
* [#751] AGP 7.4.2

* [#874][#758][#751] Gradle 8.1.1 + AGP 8.0.2

- Dependency locks update
- And the related changes the versions bump brings done as well
- Dep issue template changed as appropriate now

* [#875] Emulator.wtf 0.12.2

* Minor fixing changes after Gradle bump

* Fix deprecated Runtime.exec()

* Fix running screenshot tests

We use the same pattern now as in the other pure test modules.

* Fix jvm versions compatibility

'compileJava' task (current target is 1.8) and 'compileKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 15:19:09 +02:00
Carter Jernigan 8045df9e6d [#818] Androidx updates 2023-05-10 05:52:41 -04:00
Carter Jernigan ec7eb3804e [#770] Hide request ZEC button 2023-02-21 12:50:31 -05:00
Carter Jernigan f5e0af6545
[#757] Adopt SDK 1.14.0 (#759) 2023-02-17 06:05:23 -05:00
Carter Jernigan 721003b6e7
[#734] Emulator.wtf Gradle Plugin 0.0.15
This will provide caching for our automated tests.

I have disabled the cache for the screenshot tests, since those are sometimes flaky.
2023-01-24 06:26:43 -05:00
Alex b84df3d9dc
[#592] Instrumentation coverage
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-17 14:54:40 -05:00
Carter Jernigan 193b376fe3
[#581] Switch to Play app update library
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-17 11:43:22 -05:00
Honza Rychnovsky 381af575ef
[#653] Refactor Backup flow screens
* [#653] Move copy to buffer action

- Trigger this action after seed phrase panel click and confirm via dialog window
- Added basic ui tests
- Added also dialog integration test
- Added related strings

* Revert "[#653] Move copy to buffer action"

This reverts commit 813eab00b747a779be5ef652745002f65c04572c.

* [#150] Refactoring the Backup flow to use Compose Scaffold

* Fix Backup flow screenshot test

- Removed scroll actions above nodes, which are no longer part of scroll behaviour - bottom navigation buttons are now part of Compose Scaffold component.

* Added scroll actions in screenshot test of Profile screen

- After tested the whole app with screenshot test on smaller screen device 4WVGA Nexus S

* Remove unnecessary screenshot test click action

- This click action on the Profile screen title seems to be unnecessary for the test and creates confusion

* ScreenshotTest module auto components init

- Changed the way we auto-initialize components in ScreenshotTest module
- Now we use androidx-startup library for it
- And we disabled the default way

* Add system back button navigation support

* Enable scrolling for Backup Test screen

* Fix Screenshot test on small screen in landscape

- Tested and fixed cases in which our screenshot test wasn't successful
- Tested on 4 WVGA Nexus S in landscpae mode

* Code clean

* Address review comments + stages refactoring

- Flattened BackupStage sealed class. Test and Failure are now regular stages.
- Introduced CheckSeed stage, instead of reusing Seed phrase for re-viewing.
- Simplified BackupView and custom Saver implementations.
- List of possible screen state stages is now lazy loaded value, instead of method.
- Some of the stages now override stage moving methods to enhance Backup screen state machine, as it's not linear.
- Existing tests updated to align with the new implementation of stages.

* Remove `run` block

* Rename CheckSeed -> ReviewSeed

Check might imply to another reader of the code that there is some going back to the test.  I went with the word Review which seems to better convey how that screen is passive for the user.

* Simplify list construction

This should have better performance.

* Crash instead of allowing back navigation

* Add documentation

* Fix initialization error

* Add non-localized string tag

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-11-23 08:17:06 +01:00
Honza Rychnovsky 9401330ff4
[#665] Gradle assemble task run fix 2022-11-11 15:28:20 +01:00
Honza Rychnovsky bcacf93a04
[#599] Macrobenchmark test module
* Temporary enable FTL test

* Enable emulator.wft tests for ui-integration-test module on CI

* Rebase onto main

* Test Fladle configuration for ui-integration-test module

* Fix Fladle for ui-integration-test module

* Rename ui-integration-test module flade configuration

* Disable again FTL action from PRs

* Clear support for FTL from ui-integration-test module

* Refactor the emulator.wtf support across our modules.

* [#599] Macrobenchmark test module

- Created new dedicated macrobenchmark test module
- Updated related Architecture and Setup documentation
- Connected to app module
- New benchmark build type
- Related run configuration above custom Gradle task
- Basic startup benchmark test included

* Benchmark build variant simplification

* Run benchmarking simplification

* Documentation update.

* New property IS_SIGN_RELEASE_BUILD_WITH_DEBUG_KEY

- It enables signing the release build with debug key configuration. Default value is false.
- First, we check if we can sign it with release configs, otherwise with debug.
- Documentation updated.

* Benchmarking documentation update

* Adds support for Android SDK 32 and 33

- Bumped benchmark library to the latest alpha version
- Which results in a need of adding profile-installer library in target module (app)
- Now we're able to run benchmarking on Android SDK level 29 and higher (i.e. latest levels included)
- Updated related documentation

* Enables benchmarking for emulators

- I've decided to support emulator devices with our benchmark test module at the end. Documentation and code comments explain to a user that the results may not be the same as on a real physical device. But until we have it set up in CI, we can benefit from having it set up like this.
2022-10-27 12:51:24 +02:00
Honza Rychnovsky 4eddf4e74b
[#598] Refactoring ScreenshotTest to a separate test module
* Temporary enable FTL test

* Enable emulator.wft tests for ui-integration-test module on CI

* Test Fladle configuration for ui-integration-test module

* Fix Fladle for ui-integration-test module

* Rename ui-integration-test module flade configuration

* Disable again FTL action from PRs

* Clear support for FTL from ui-integration-test module

* Refactor the emulator.wtf support across our modules.

* [#598] Refactoring ScreenshotTest to a separate test module

- Created a new com.android.test module
- Moved our ScreenShotTest to the separate module
- Enabled the new module for emulator.wtf service
- Cleaned up the app module from ScreenShotTest
- Updated Architecture and Setup documentation

* Exclude pure test modules from Detekt check

* Improved run configurations

- Changed common emulator.wtf run configuration name to align with the rest of our configurations
- Added configuration for the new screenshot tests module
- Updated documentation

* Linked code TODO

* Disabled self-instrumenting

- As it appeared to be the way how to leverage the app module Gradle settings in this new module
- App name is taken from app module settings
- Screenshot tests works with pseudolocales again
2022-10-18 15:08:36 +02:00