Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release 0.7.1 #12

Merged
merged 36 commits into from Jan 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
73c44d3
Update .gitignore
superus8r Jan 24, 2021
abeb0f5
Update .gitignore
superus8r Jan 24, 2021
71dd92e
Update .gitignore
superus8r Jan 24, 2021
86c7ee3
Update .gitignore
superus8r Jan 24, 2021
c014291
update dependencies and gradle version
superus8r Jan 24, 2021
825b8ea
Update .gitignore
superus8r Jan 24, 2021
398249c
Update .gitignore
superus8r Jan 24, 2021
667de83
added a new step to hopefully run the ui tests on macOS
superus8r Jan 24, 2021
cefedcb
for testing: run actions on every push regardless of the branch
superus8r Jan 24, 2021
e5ffa8a
hopefully run actions on every push
superus8r Jan 24, 2021
84ded40
temporarily ignore sentry
superus8r Jan 24, 2021
11adb49
Update gradle-wrapper.properties
superus8r Jan 24, 2021
8487e5a
added google truth for simple assertions
superus8r Jan 24, 2021
630e1c1
sentry needs empty dsn string to be disabled
superus8r Jan 24, 2021
d2498f0
update koin version
superus8r Jan 24, 2021
d7f9d97
Create OutputTextTest.kt
superus8r Jan 24, 2021
ac104d2
added instrumented testing libraries
superus8r Jan 24, 2021
16b8902
removed the example test files
superus8r Jan 24, 2021
8b79840
added a basic instrumented test to check the main views are displayed
superus8r Jan 24, 2021
2de7272
upgrade target sdk version to 30
superus8r Jan 24, 2021
8d29558
Update android.yml
superus8r Jan 24, 2021
3308a13
set compile sdk version to 30
superus8r Jan 24, 2021
d6d5959
activate view binding in the project
superus8r Jan 24, 2021
7ed4634
use viewbinding to access view items
superus8r Jan 24, 2021
4021e98
added fastlane to project to automate future distributions
superus8r Jan 24, 2021
7432651
running unit tests using fastlane; running gradlelint; upload artifac…
superus8r Jan 24, 2021
700432d
hopefully fix the config file
superus8r Jan 24, 2021
6c562ac
Update android.yml
superus8r Jan 24, 2021
2c9ad45
hopefully fixed fastlane config to run android unit tests
superus8r Jan 24, 2021
893ba0f
removed the extra step from unit-tests
superus8r Jan 24, 2021
240dfd6
fix the lint results path
superus8r Jan 24, 2021
4ff3365
add the CI badge
superus8r Jan 24, 2021
c70d03d
Update .gitignore
superus8r Jan 24, 2021
1c4cb37
Update README.md
superus8r Jan 24, 2021
3c6837d
Merge pull request #11 from k4biri/AUT-1-Setup-CI
superus8r Jan 24, 2021
e939d63
bump version code and version number
superus8r Jan 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
51 changes: 42 additions & 9 deletions .github/workflows/android.yml
@@ -1,21 +1,54 @@
name: Android CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
on: [push]

jobs:
build:

unit-test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: set up Ruby to install fastlane
uses: actions/setup-ruby@v1
with:
ruby-version: '2.7'
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build
- 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

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Lint
run: bash ./gradlew lint --stacktrace
- name: Lint results
uses: actions/upload-artifact@v1
with:
name: app
path: app/build/reports/lint-results.html

ui-test:
runs-on: macOS-latest
steps:
- name: checkout
uses: actions/checkout@v2
- name: run tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 29
script: ./gradlew connectedCheck
13 changes: 13 additions & 0 deletions .gitignore
Expand Up @@ -82,3 +82,16 @@ 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
3 changes: 3 additions & 0 deletions Gemfile
@@ -0,0 +1,3 @@
source "https://rubygems.org"

gem "fastlane"
184 changes: 184 additions & 0 deletions Gemfile.lock
@@ -0,0 +1,184 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.3)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.1.0)
aws-partitions (1.416.0)
aws-sdk-core (3.111.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.41.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.87.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.2)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.0.3)
colored (1.2)
colored2 (3.1.2)
commander-fastlane (4.4.6)
highline (~> 1.7.2)
declarative (0.0.20)
declarative-option (0.1.0)
digest-crc (0.6.3)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.2.1)
excon (0.78.1)
faraday (1.3.0)
faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-net_http (1.0.1)
faraday_middleware (1.0.0)
faraday (~> 1.0)
fastimage (2.2.1)
fastlane (2.172.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander-fastlane (>= 4.4.6, < 5.0.0)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.37.0, < 0.39.0)
google-cloud-storage (>= 1.15.0, < 2.0.0)
highline (>= 1.7.2, < 2.0.0)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
slack-notifier (>= 2.0.0, < 3.0.0)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-api-client (0.38.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.12)
google-cloud-core (1.5.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.4.0)
faraday (>= 0.17.3, < 2.0)
google-cloud-errors (1.0.1)
google-cloud-storage (1.29.2)
addressable (~> 2.5)
digest-crc (~> 0.4)
google-api-client (~> 0.33)
google-cloud-core (~> 1.2)
googleauth (~> 0.9)
mini_mime (~> 1.0)
googleauth (0.14.0)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
highline (1.7.10)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.4.0)
json (2.5.1)
jwt (2.2.2)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.0.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.0)
os (1.1.1)
plist (3.6.0)
public_suffix (4.0.6)
rake (13.0.3)
representable (3.0.4)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rouge (2.0.7)
ruby2_keywords (0.0.2)
rubyzip (2.3.0)
security (0.1.3)
signet (0.14.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
CFPropertyList
naturally
slack-notifier (2.3.2)
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7-x64-mingw32)
unicode-display_width (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.19.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

PLATFORMS
x64-mingw32

DEPENDENCIES
fastlane

BUNDLED WITH
2.1.4
3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -3,7 +3,8 @@
# arduino-usb-terminal
Terminal-like app to send commands to Arduino through USB


![Android CI](https://github.com/k4biri/arduino-usb-terminal/workflows/Android%20CI/badge.svg)


This app simplifies testing your Arduino components that work with direct usb commands by giving you the ability to send custom commands and view the returned message from your Arduino device.

Expand Down
41 changes: 26 additions & 15 deletions app/build.gradle
@@ -1,15 +1,13 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'koin'

repositories {
jcenter()
}

android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
compileSdkVersion 30

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
Expand All @@ -19,9 +17,9 @@ android {
defaultConfig {
applicationId "org.kabiri.android.usbterminal"
minSdkVersion 23
targetSdkVersion 29
versionCode 7
versionName "0.7.0"
targetSdkVersion 30
versionCode 8
versionName "0.7.1"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand All @@ -33,15 +31,19 @@ android {
}
}

buildFeatures {
viewBinding true
}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'

// Sentry Tracking
implementation 'io.sentry:sentry-android-core:2.0.2'
Expand All @@ -52,13 +54,22 @@ dependencies {
// Coroutines
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
// testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.0-RC2'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
// unit test libs
testImplementation 'junit:junit:4.13.1'
testImplementation "com.google.truth:truth:1.1.2"

// instrumented test libs
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
// Espresso
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
// Hamcrest for view matching
androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test:rules:1.3.0'

/**
* This library helps to automate some parts of the USB serial connection.
Expand Down

This file was deleted.