Commit Graph

27 Commits

Author SHA1 Message Date
Carter Jernigan f6859c5d14 [#733] Configure Detekt convention plugin 2023-01-24 16:10:16 -05:00
Carter Jernigan dcb6388abb
[#719] Check Gradle properties on CI
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-19 07:34:14 -05:00
Alex b84df3d9dc
[#592] Instrumentation coverage
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-17 14:54:40 -05: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
Honza Rychnovsky bffa5870b6
[#525] Refactoring Integration Test Module
* [#525] Refactoring Integration Test Module

- Change module type to test + related Gradle scripts change
- Rename module to - remove the trailing Lib suffix + documentation
- Move module structure from test to main source

* Static checks result fix

* Temporary enable FTL test

* Test updated emulator.wft version

* Update locked emulator.wtf dependency version

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

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

- Update documentation

* 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.

* Fix Mermaid graph syntax

* Minor change in comment

* Fix ui-integration-test module run configuration

- Fixed manually
- Aligned with other run configurations
- Stable and beta versions of AS behave differentially, but after this fix it seems to be working as expected in both

* Update emulator.wtf run configuration

- Covered ui-integration-test module too
- Changed configuration name
2022-10-14 14:17:15 +02:00
Carter Jernigan b5c09832df [#578] Use API 33 devices on Firebase Test Lab 2022-09-01 06:38:29 -04:00
Carter Jernigan 072d73e99c
[#547] Configurable dependency locking
This implementation is somewhat special from our other Gradle properties, because it does not get declared in the root gradle.properties.  The reason is that included builds are supposed to have their own properties e.g.

root_project/gradle.properties
root_project/buildSrc/gradle.properties
root_project/build-conventions/gradle.properties

Instead of declaring the property in three different places which might lead to confusion, this leaves the property undeclared, with the Gradle scripts assuming a default value of true.  The only time this is expected to be overridden is due to a workaround for an Android Studio bug.
2022-07-22 13:00:04 -04:00
Carter Jernigan 18a81eaef4
[#545] Detekt 1.21.0 2022-07-19 07:10:34 -04:00
Carter Jernigan 676885d7f6 [#493] Warn when running under Rosetta 2022-06-16 10:22:20 -04:00
Carter Jernigan 6540cd6bd3 [#482] Rename build-convention to build-conventions-secant
This prevents naming conflicts with included builds across multiple projects with build conventions.
2022-06-14 18:20:51 -04:00
Carter Jernigan 59e8d235f6 [#5] Remove subproject configuration for coverage 2022-06-06 08:41:01 -04:00
Carter Jernigan 8b5a67b23c [#22] Remove subproject configuration for testOptions 2022-06-06 08:41:01 -04:00
Carter Jernigan 1ce826e453 [#464] Use Kover for multiplatform coverage 2022-06-06 08:41:01 -04:00
Carter Jernigan 1880b2a43f
[#200][#285] Use Espresso screenshot API
- Also reduced liklihood of timeouts on Firebase test lab for robo tests
 - Fix emulatorwtf run configuration
 - Fix screenshots on older API levels
 - Fix minumum range for emulator.wtf
2022-06-02 11:09:02 -04:00
Carter Jernigan 94d259d5b0
[#190] Pull screenshots on CI 2022-05-24 09:39:56 -04:00
Carter Jernigan a8be47bf89
[#433] Use emulator.wtf for tests on CI (#428)
This should speed up our builds and reduce flakiness.

Followup items:
 - Enable coverage
 - Collect screenshots
 - Fix target API on sdk-ext-lib #430
2022-05-17 10:06:56 -04:00
Carter Jernigan 482a48edb7
[#199] Pull test results from Firebase Test Lab
A future iteration should generate the HTML reports from these XML files

This rolls back Flank to 21.09.0 but does maintain the ability to version Flank separately.
2022-04-08 14:06:34 -04:00
Carter Jernigan 8be473a988 [#335] Flank 22.03.0 2022-04-06 07:56:17 -04:00
Carter Jernigan fb5fc153a5 [#278] Fix Firebase Test Lab configuration 2022-03-20 17:00:35 -04:00
Carter Jernigan 52b6382d47
Configure build with GitHub Actions 2022-01-26 15:13:19 -05:00
Carter Jernigan 40950a0377 [#169] Android Gradle Plugin 7.1
Besides bumping the version, we can now integrate this plugin the same way we do the others.  The version is now declared in the settings.gradle.kts.

The change is a bit noisy, due to needing to move our repository restrictions around.
2022-01-25 15:13:11 -05:00
Carter Jernigan 575b3063bf
[#50] Preliminary design guide
Known issues
 - We cannot use downloadable fonts with Compose, so the fonts must be embedded with the app

Questions
 - How does the transparent button show a disabled state?
 - Are the navigation buttons and secondary buttons supposed to be effectively the same style but one is smaller?

TODO
 - Add gradients.  Gradients are not implemented for background, progress bar, etc.  Currently they simply use the start color for the gradient
 - Icons are using Material Icons, pending decision on how to leverage the vectors in the design
 - Add the border for hero images
 - Add shapes for the callout, which is currently square
 - Add padding
 - Add drop shadows
 - Double-check colors for correctness
2021-10-31 13:36:51 -04:00
Carter Jernigan 7afdb59d50 [#54] Add dependency locking for buildscript
This only locks dependencies for Gradle plugins, but not for all of the runtime dependencies that we might have.  That will be accomplished in a followup change.
2021-10-25 13:56:36 -04:00
Carter Jernigan 7d305dc953 [#8] Restrict maven repositories
This improves security by ensuring that Google's dependencies only from the Google Maven repo.

A dependency on Jitpack has also been removed.
2021-10-19 14:42:30 -04:00
Carter Jernigan 96b1e1913b [#21] Enable test orchestrator 2021-10-11 19:39:50 -04:00
Carter Jernigan 7520e031c8 [#3] Add ktlint 2021-09-18 07:22:42 -04:00
Carter Jernigan 68a9cc7d27 [#3] Add skeleton Gradle project structure 2021-09-18 07:22:42 -04:00