Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
f50cf44
Create generateGoogleServicesJson.py
superus8r Feb 19, 2023
e4dfe20
Update build.gradle
superus8r Feb 19, 2023
798cf4c
Update build.gradle
superus8r Feb 19, 2023
8cb9051
Update config.yml
superus8r Feb 19, 2023
9503e9e
use codecov orb to upload jacoco coverage file
superus8r Feb 19, 2023
b01c46a
Update config.yml
superus8r Feb 19, 2023
3d6e438
Update config.yml
superus8r Feb 19, 2023
3debdf1
Update README.md
superus8r Feb 19, 2023
890667f
migrate build.gradle to build.gradle.kts
superus8r Feb 19, 2023
7a464e7
Merge pull request #24 from superus8r/configure-circleci-and-codecov
superus8r Feb 19, 2023
208a7d9
apply sonar gradle plugin
superus8r Mar 2, 2023
2af25c1
set usesCleartextTraffic to false
superus8r Mar 2, 2023
da6ab6d
add a CircleCI step to analyze on SonarCloud
superus8r Mar 2, 2023
7b0d13c
apply SonarCloud context to build
superus8r Mar 2, 2023
9484f1a
use lintDebug instead of lint
superus8r Mar 2, 2023
9da2373
Update config.yml
superus8r Mar 9, 2023
8bc7e1c
cleanup; no changes
superus8r Mar 9, 2023
e22c184
update structure; add sonarqube config
superus8r Mar 9, 2023
ef84962
remove extra steps, save gradle cache after generating jacoco reports
superus8r Mar 9, 2023
bef1632
add info about testing using gradle managed devices, firebase crashly…
superus8r Mar 9, 2023
9b902c1
add info about testing using gradle managed devices
superus8r Mar 9, 2023
03e0910
specify jacoco custom output file path for sonar coverage
superus8r Mar 9, 2023
45977ac
add sonar.java.binaries path
superus8r Mar 10, 2023
175528d
update SonarScanner gradle properties; update README
superus8r Mar 11, 2023
5f8e09f
create a gradle task to generate google-services.json file from env vars
superus8r Mar 11, 2023
3c9875a
create a gradle task to generate the ksProp file for signing
superus8r Mar 11, 2023
190fa9d
update config.yml
superus8r Mar 11, 2023
79b933a
fix an issue with keystore.properties path while using the gradle tas…
superus8r Mar 11, 2023
66265fb
update sonar
superus8r Mar 11, 2023
71425f8
distribute the debug version to firebase appTester
superus8r Mar 11, 2023
c2b5ba1
check if keyStore properties are loaded before creating the default c…
superus8r Mar 11, 2023
33046e8
use findByName instead of getByName for release signing config
superus8r Mar 11, 2023
f306e4c
add firebase_app_distribution plugin for fastlate
superus8r Mar 11, 2023
a77ab32
use gradle tasks to prepare the build on Github actions
superus8r Mar 11, 2023
98140a1
use fastlane to run all tests and generate coverage
superus8r Mar 11, 2023
352e252
define env for google-servies.json file
superus8r Mar 11, 2023
63a6fef
remove unnecessary commands which is already handled by fastlane
superus8r Mar 11, 2023
5d9ea84
run bundle update before executing fastlane command
superus8r Mar 11, 2023
1184ffc
install ruby to run fastlane
superus8r Mar 11, 2023
7a91b06
install bundler using ruby gems
superus8r Mar 11, 2023
036aa00
hopefully setup github actions cache for gradle
superus8r Mar 11, 2023
326ae8d
hopefully activate bundler cache on circleci
superus8r Mar 11, 2023
54127a4
hopefully activate bundler cache on circleci
superus8r Mar 11, 2023
19ec385
use fastlane to prepare the tests build
superus8r Mar 11, 2023
a1fc463
remove unnecessary python scrips which are already available as gradl…
superus8r Mar 11, 2023
327376b
Update config.yml
superus8r Mar 11, 2023
68ad67d
Update config.yml
superus8r Mar 11, 2023
aab52b3
Merge pull request #25 from superus8r/ci-configure-sonar-cloud
superus8r Mar 11, 2023
37cfa77
Update .gitignore
superus8r Jun 30, 2023
7a7666f
chore: disable cloud backup
superus8r Jun 30, 2023
9d24a0a
Merge pull request #26 from superus8r/chore/DisableCloudBackup
superus8r Jun 30, 2023
1f1c853
chore: update fastlane
superus8r Jul 18, 2023
fe91b07
refactor: use kotlin flow instead of live data to update the terminal…
superus8r Jul 18, 2023
910575d
refactor: replace live data with kotlin flows
superus8r Jul 18, 2023
597c5af
refactor: format code - no changes
superus8r Jul 18, 2023
ca1ef48
refactor: no changes
superus8r Jul 18, 2023
81c5a26
fix: clicking connect button multiple times outputs error regardless …
superus8r Jul 18, 2023
550ba01
chore: update dependencies and add jetpack compse
superus8r Jul 19, 2023
52b6e1a
feature: add a compose view to load a snapshot list of OutputText
superus8r Jul 19, 2023
700194c
feature: hopfully add a composable scrolling list
superus8r Dec 12, 2023
2dbd26d
refactor: remove repeated dependency
superus8r Dec 12, 2023
6a473f6
chore: update gradle
superus8r Dec 12, 2023
d4f8eaa
chore: update compileSdk
superus8r Dec 12, 2023
a661fad
chore: update activity-compose
superus8r Dec 12, 2023
886d10a
refactor: hopefully fix night mode colors
superus8r Dec 18, 2023
a0fa94e
Update .gitignore
superus8r Dec 18, 2023
cf4425d
feature: add UserSettingRepository
superus8r Dec 22, 2023
3bf7e0d
feature: add usecases for getting and setting the custom baudrate
superus8r Dec 22, 2023
60221c8
feature: read current custom baudrate in ArduinoHelper and apply it w…
superus8r Dec 25, 2023
77362b3
feature: add a bottom sheet to show setting content
superus8r Dec 25, 2023
fc4a63b
chore: update fastlane
superus8r Dec 25, 2023
2a842a7
refactor: separate Setting Value Item from the Setting Content
superus8r Mar 30, 2024
5f4c1e1
feature: resetting settings to default dismisses the setting modal
superus8r Mar 30, 2024
9d01a3d
feature: annouce saved state after user changes a setting value
superus8r Mar 30, 2024
ff09069
feature: add a settings header and hints to the setting sheet for bet…
superus8r Mar 30, 2024
429ad37
feature: save settings and dismiss soft keyboard on ime action
superus8r Mar 30, 2024
0f63234
feature: listen for baudrate changes made by the user
superus8r Mar 30, 2024
915ecc1
Merge branch 'develop' into feature/DROID-10/AllowCustomBaudrate
superus8r Mar 30, 2024
8a9e21e
ci: hopefully fix build by updating to zulu 17
superus8r Mar 30, 2024
cd5892e
ci: hopefully fix circleci build
superus8r Mar 30, 2024
1bf07c7
ci: hopefully fix the circleci docker version to another one which su…
superus8r Mar 30, 2024
f5d1aec
refactor: remove unused composable
superus8r Mar 30, 2024
e18c8aa
chore: update fastlane
superus8r Mar 30, 2024
266e506
chore: bump version name
superus8r Mar 30, 2024
98fffc2
chore: update fastlane
superus8r Mar 30, 2024
5dd82dd
ci: add a circleci job to push the release build to playstore interna…
superus8r Mar 30, 2024
e8dc2a5
chore: activate the distribute-internal-testing job
superus8r Mar 30, 2024
8844007
chore: bump version code
superus8r Mar 30, 2024
51eae6d
chore: update fastlane plugins
superus8r Mar 30, 2024
abdd4c0
chore: hopefully fix automated upload to playstore internal release
superus8r Mar 30, 2024
91d2fd5
chore: hopefully fix automated push to playstore internal release lane
superus8r Mar 30, 2024
fa7797d
chore: hopefully fix the google play upload
superus8r Mar 30, 2024
826903c
chore: hopefully fix the google play upload
superus8r Mar 30, 2024
eaa1afb
chore: hopefully fix the google play upload
superus8r Mar 30, 2024
b0faaba
bugfix: allow only numbers as an input for the baud rate
superus8r Mar 30, 2024
0ebc0d6
deps: update firebase and crashlytics
superus8r Apr 1, 2024
b2fd55c
bugfix: fixed a crash when closing connection
superus8r Apr 6, 2024
168649f
refactor: remove extra OptIn annotations
superus8r Apr 6, 2024
3990a97
bugfix: check if connection is initialized before closing it
superus8r Apr 6, 2024
3b4876a
tests: move scope to constructor for testability
superus8r Apr 6, 2024
70e05e5
deps: update lifecycle, coroutines, and compose
superus8r Apr 6, 2024
8e669c1
chore: enable minification
superus8r Apr 7, 2024
0124324
ci: push prod build to firebase app tester as well as playStore inter…
superus8r Apr 7, 2024
6e6c57c
bugfix: fix wrong action title
superus8r Apr 8, 2024
80b5d56
feature: allow sending commands on press of enter button to use on ch…
superus8r Apr 8, 2024
3ab0a47
chore: update gradle
superus8r Apr 8, 2024
6282e4c
chore: update bundler packages, fix the build
superus8r Dec 30, 2024
7cbf6a9
chore: update compileSdk; update config of buildConfig feature
superus8r Jan 11, 2025
464950e
chore: updated dependencies; hopefully fix build
superus8r Jan 11, 2025
9698a5e
ci: update github actions upload-artifact@v1 to v4
superus8r Jan 11, 2025
efbf4a9
ci: use kvm and linux runner instead of macos runner for running the …
superus8r Jan 11, 2025
5f0bc68
ci: update action setup-java@v1 to v4
superus8r Jan 11, 2025
554e9eb
chore: update compileSdk version
superus8r May 1, 2025
b4e2d4e
chore: update targetSdk to 35
superus8r May 1, 2025
f1b8a68
chore: update fastlane
superus8r May 1, 2025
c2cf341
chore: clean Fastfile; use an array of gradle tasks
superus8r May 1, 2025
9a15665
chore: generateKsFile before generating the props for it
superus8r May 1, 2025
5f2bda7
chore: remove unnecessary generateKsFile task
superus8r May 1, 2025
d3a8b4b
chore: explicitly set whether the broadcast receiver is exported or not
superus8r May 1, 2025
93910a7
ui: avoid system navbar or soft keyboard overlapping content
superus8r May 1, 2025
fc38762
refactor: update deprecated getParcelableExtra usage
superus8r May 1, 2025
4e8f231
refactor: update action name
superus8r May 1, 2025
6aeb3d6
refactor: improve debug logs
superus8r May 1, 2025
3298297
refactor: register broadcast receiver before requesting permission
superus8r May 1, 2025
6d778dc
refactor: register the receiver in manifest
superus8r May 1, 2025
dc9a086
deps: update dependencies
superus8r May 1, 2025
fff4ad5
deps: update kotlin and hilt
superus8r May 1, 2025
709e2a4
nitpick: format; no changes
superus8r May 1, 2025
9e21276
nitpick: format; no changes
superus8r May 1, 2025
29682e3
chore: add .aiexclude file
superus8r May 7, 2025
9d8adbc
bugfix: fixed the issue with arduino clones not being able to connect
superus8r May 7, 2025
8be6ceb
refactor: remove unused methods, improve readability of ArduinoHelper
superus8r May 7, 2025
b553abb
refactor: rename ArduinoHelper to ArduinoRepository
superus8r May 7, 2025
748fe74
refactor: update ArduinoRepository TAG
superus8r May 7, 2025
86a3c60
refactor: hopefully separate usb specific and arduino logic
superus8r May 7, 2025
f13bb76
nitpick: remove commented code
superus8r May 7, 2025
48657d4
nitpick: update naming
superus8r May 7, 2025
83645ce
nitpick: remove unnecessary intermediate variable
superus8r May 7, 2025
cbdc071
nitpick: remove commented code
superus8r May 7, 2025
ba0cffa
nitpick: remove unused import
superus8r May 7, 2025
8b4d53d
nitpick: remove unused import
superus8r May 7, 2025
e8460c0
refactor: use launch instead of deprecated launchWhenResumed
superus8r May 7, 2025
d2e4db6
refactor: rename extensions package to util
superus8r May 7, 2025
ec36a09
nitpick: add file comment
superus8r May 7, 2025
e3a0b00
refactor: log the output of onPermissionResult
superus8r May 7, 2025
e4c7403
chore: hopefully update AGP to 8.10
superus8r May 24, 2025
eabd45d
chore(deps): add mockk; organize dependencies
superus8r May 24, 2025
7455801
tests: make sure scanForArduinoDevices works as expected
superus8r May 24, 2025
e1261fd
tests: make sure requestUsbPermission works as expected
superus8r May 24, 2025
75aab03
tests: make sure onPermissionResult works as expected
superus8r May 24, 2025
5a15f87
tests: make sure onDisconnect works as expected
superus8r May 24, 2025
957a140
fix: unregister receiver once the permission result is received
superus8r May 25, 2025
388e2bb
refactor: use sharedFlow for the usbDevice
superus8r May 25, 2025
cf689cb
tests: update tests to match the new changes to sharedFlow usage in u…
superus8r May 25, 2025
4a7e21c
fix: avoid having to click connect twice for connecting to usb device
superus8r May 25, 2025
a269f7e
refactor: create an interface for ArduinoRepository
superus8r May 25, 2025
9cbab87
refactor: use the IArduinoRepository
superus8r May 25, 2025
c632777
refactor: provide coroutine scope to reuse it
superus8r May 25, 2025
0973cd6
refactor: improve formatting and order of imports
superus8r May 25, 2025
bf49fd5
refactor: remove unnecessary singleton annotation on ProvideArduinoRe…
superus8r May 25, 2025
41e43b3
refactor: remove unnecessary activity context
superus8r May 25, 2025
9c2bbdc
refactor: update tests to match changes onPermissionResult without it…
superus8r May 25, 2025
58b0ad2
refactor: keep usb repository's emitted messages consistent with the …
superus8r May 25, 2025
07cd7e1
refactor: remove ArduinoPermissionBroadcastReceiver.kt because it is …
superus8r May 25, 2025
0ee4a41
tests: make sure onDeviceAttached, onDeviceDetached, and onUnknownAct…
superus8r May 25, 2025
9a4b944
ci: bump ruby version
superus8r May 25, 2025
3617f7e
tests: test has permission
superus8r May 25, 2025
7a0d50e
nitpick: remove commented code
superus8r May 25, 2025
f3d0f13
nitpick: use Unit instead of empty block
superus8r May 25, 2025
e77c9a5
refactor: remove unused import
superus8r May 25, 2025
4258cbb
nitpick: change IResourceProvider to a functional interface
superus8r May 25, 2025
9155c9b
tests: make sure ResourceProvider works as expected
superus8r May 25, 2025
46e1da9
tests: make sure ArduinoUseCaseTest works as expected
superus8r May 25, 2025
32e887d
refactor: move ArduinoRepository to repository package
superus8r May 25, 2025
e06fc23
refactor: move ArduinoSerialReceiver to repository package
superus8r May 25, 2025
063a264
tests: make sure UsbUseCase works as expected
superus8r May 25, 2025
de88407
tests: make sure ArduinoDevice type gets detected as expected
superus8r May 25, 2025
e906678
ci: use layout for accessing project dir and build dir
superus8r May 25, 2025
9708dc8
Merge pull request #28 from superus8r/feature/DROID-10/AllowCustomBau…
superus8r May 25, 2025
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
89 changes: 89 additions & 0 deletions .aiexclude
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# release/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/*

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
# google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/
app/src/main/res/values/api_keys.xml
.idea/compiler.xml
.idea/compiler.xml
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/misc.xml
app/build.gradle
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/misc.xml
.idea/.name
.idea/codeStyles/Project.xml
.idea/misc.xml
.idea/misc.xml
121 changes: 80 additions & 41 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,59 +1,98 @@
version: 2.1
orbs:
codecov: codecov/codecov@3.2.4
ruby: circleci/ruby@2.0.0

jobs:
android-test:
macos:
xcode: "11.2.0"
working_directory: ~/repo/App
commands:
restore_gradle_cache:
steps:
- checkout:
path: ~/repo

- run:
name: set ANDROID_SDK_ROOT
command: |
echo 'export ANDROID_SDK_ROOT=$HOME/android-tools' >> $BASH_ENV

- restore_cache:
key: android=tools-v1-{{ checksum "scripts/install-android-tools.sh" }}-{{ arch }}

- run:
name: install android tools
command: |
sh scripts/install-android-tools.sh
echo 'export PATH=$ANDROID_SDK_ROOT/tools/bin:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/tools:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/platform-tools:$PATH' >> $BASH_ENV
echo 'export PATH=$ANDROID_SDK_ROOT/emulator:$PATH' >> $BASH_ENV
source $BASH_ENV
sdkmanager --list
key: v1-gradle-wrapper-{{ arch }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
- restore_cache:
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle" }}

save_gradle_cache:
steps:
- save_cache:
key: android=tools-v1-{{ checksum "scripts/install-android-tools.sh" }}-{{ arch }}
paths:
- /Users/distiller/android-tools
- ~/.gradle/wrapper
key: v1-gradle-wrapper-{{ arch }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
- save_cache:
paths:
- ~/.gradle/caches
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle" }}

- run:
name: create AVD
command: make create-avd
executors:
android-machine:
machine:
image: android:2024.01.1
android-docker:
docker:
- image: cimg/android:2024.01

jobs:
android-test:
executor: android-machine
resource_class: large
steps:
- checkout
- restore_gradle_cache
- ruby/install-deps:
with-cache: true
- run:
name: start AVD
command: emulator-headless -avd android-tablet
background: true

name: Fastlane - run all tests with coverage report
command: |
bundle exec fastlane testDev
- save_gradle_cache
- run:
name: wait for emulator
command: adb wait-for-device shell 'while [[ -z $(getprop dev.bootcomplete) ]]; do sleep 1; done;'

- run: adb shell screencap -p > screenshots/before.png
name: Analyze on SonarCloud
command: ./gradlew lintDebug sonar
- codecov/upload:
file: app/build/mergedReportDir/jacocoTestReport/jacocoTestReport.xml
- store_test_results:
path: app/build/test-results/testDebugUnitTest
- store_artifacts:
path: app/build/mergedReportDir

# (insert testing here)
distribute-dev:
executor: android-docker
resource_class: large
steps:
- checkout
- restore_gradle_cache
- run:
name: Prepare Fastlane
command: sudo bundle update
- run:
name: Distribute to Firebase AppTester Dev
command: bundle exec fastlane distDev
- store_artifacts:
path: /home/circleci/project/app/build/outputs/apk/debug/app-debug.apk
destination: fastlane-output-debug

distribute-internal-testing:
executor: android-docker
resource_class: large
steps:
- checkout
- restore_gradle_cache
- run:
name: Prepare Fastlane
command: sudo bundle update
- run:
name: Distribute to Google PlayStore Internal Testing
command: bundle exec fastlane deploy
- run:
name: Distribute to Firebase AppTester Prod
command: bundle exec fastlane distProd
- store_artifacts:
path: screenshots
path: /home/circleci/project/app/build/outputs/bundle/release/app-release.aab
destination: fastlane-output-release

workflows:
workflow:
jobs:
- android-test
- android-test:
context: SonarCloud
- distribute-dev
- distribute-internal-testing
120 changes: 60 additions & 60 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -1,96 +1,96 @@
name: Android CI

on: [push]
on: [ push ]

jobs:

unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true

- name: set up JDK 11
uses: actions/setup-java@v1
with:
distribution: 'zulu'
java-version: '11'
- name: set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: generate ksProp file
run: python scripts/generateKsPropFile.py
- name: create google-services.json file
run: cat app/google-services.json | base64
- name: update google-services.json file
env:
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: echo $DATA > app/google-services.json
- name: setup fastlane
run: bundle install
- name: run unit tests
run: bundle exec fastlane android run_unit_tests
- name: Unit tests results
uses: actions/upload-artifact@v1
with:
name: unit-test-results
path: app/build/reports/tests/testDebugUnitTest/index.html
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
bundler-cache: true
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Cache Gradle wrapper
uses: actions/cache@v3
with:
path: ~/.gradle/wrapper
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.OS }}-gradle-wrapper-cache-
- name: Cache Gradle caches
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle') }}
restore-keys: |
${{ runner.OS }}-gradle-caches-cache-
- name: generate ksProp file
run: ./gradlew generateKsPropFile
- name: generate google-services.json file
run: ./gradlew generateGoogleServicesJson
env:
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
- name: setup fastlane
run: bundle install
- name: run unit tests
run: bundle exec fastlane android run_unit_tests
- name: Unit tests results
uses: actions/upload-artifact@v4
with:
name: unit-test-results
path: app/build/reports/tests/testDebugUnitTest/index.html

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: set up JDK 11
- name: set up JDK 17
uses: actions/setup-java@v1
with:
distribution: 'zulu'
java-version: '11'
- name: set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
java-version: '17'
- name: generate ksProp file
run: python scripts/generateKsPropFile.py
- name: create google-services.json file
run: cat app/google-services.json | base64
- name: update google-services.json file
run: ./gradlew generateKsPropFile
- name: generate google-services.json file
run: ./gradlew generateGoogleServicesJson
env:
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: echo $DATA > app/google-services.json
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
- name: Lint
run: bash ./gradlew lintDebug
- name: Lint results
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: app
path: app/build/reports/lint-results-debug.html

ui-test:
runs-on: macOS-latest
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: set up JDK 11
uses: actions/setup-java@v1
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
- name: set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
java-version: '17'
- name: generate ksProp file
run: python scripts/generateKsPropFile.py
- name: create google-services.json file
run: cat app/google-services.json | base64
- name: update google-services.json file
run: ./gradlew generateKsPropFile
- name: generate google-services.json file
run: ./gradlew generateGoogleServicesJson
env:
DATA: ${{ secrets.GOOGLE_SERVICES_JSON }}
run: echo $DATA > app/google-services.json
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
- name: Enable KVM group perms
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
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
Expand Down
Loading
Loading