Skip to content

Commit 543b757

Browse files
authored
Merge pull request #46 from superus8r/develop
Prepare release 0.9.85
2 parents 47a34d4 + cfe5e00 commit 543b757

File tree

16 files changed

+502
-220
lines changed

16 files changed

+502
-220
lines changed

.circleci/config.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2.1
22
orbs:
3-
codecov: codecov/codecov@3.2.4
3+
codecov: codecov/codecov@5.4.3
44
ruby: circleci/ruby@2.0.0
55

66
commands:
@@ -9,7 +9,11 @@ commands:
99
- restore_cache:
1010
key: v1-gradle-wrapper-{{ arch }}-{{ checksum "gradle/wrapper/gradle-wrapper.properties" }}
1111
- restore_cache:
12-
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle" }}
12+
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle.kts" }}-{{ checksum "settings.gradle.kts" }}-{{ checksum "gradle.properties" }}-{{ checksum "app/build.gradle.kts" }}-{{ checksum "gradle/libs.versions.toml" }}
13+
restore_bundler_cache:
14+
steps:
15+
- restore_cache:
16+
key: v1-bundler-cache-{{ checksum "Gemfile.lock" }}
1317

1418
save_gradle_cache:
1519
steps:
@@ -20,7 +24,13 @@ commands:
2024
- save_cache:
2125
paths:
2226
- ~/.gradle/caches
23-
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle" }}
27+
key: v1-gradle-cache-{{ arch }}-{{ checksum "build.gradle.kts" }}-{{ checksum "settings.gradle.kts" }}-{{ checksum "gradle.properties" }}-{{ checksum "app/build.gradle.kts" }}-{{ checksum "gradle/libs.versions.toml" }}
28+
save_bundler_cache:
29+
steps:
30+
- save_cache:
31+
paths:
32+
- vendor/bundle
33+
key: v1-bundler-cache-{{ checksum "Gemfile.lock" }}
2434

2535
executors:
2636
android-machine:
@@ -37,18 +47,21 @@ jobs:
3747
steps:
3848
- checkout
3949
- restore_gradle_cache
50+
- restore_bundler_cache
4051
- ruby/install-deps:
4152
with-cache: true
4253
- run:
4354
name: Fastlane - run all tests with coverage report
4455
command: |
4556
bundle exec fastlane testDev
57+
bundle exec fastlane lint
4658
- save_gradle_cache
59+
- save_bundler_cache
4760
- run:
4861
name: Analyze on SonarCloud
4962
command: ./gradlew lintDebug sonar
5063
- codecov/upload:
51-
file: app/build/mergedReportDir/jacocoTestReport/jacocoTestReport.xml
64+
files: app/build/mergedReportDir/jacocoTestReport/jacocoTestReport.xml
5265
- store_test_results:
5366
path: app/build/test-results/testDebugUnitTest
5467
- store_artifacts:

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "gradle"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
open-pull-requests-limit: 5
8+
9+
- package-ecosystem: "bundler"
10+
directory: "/"
11+
schedule:
12+
interval: "weekly"
13+
open-pull-requests-limit: 5

.github/workflows/android.yml

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
unit-test:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@v4
1111
- uses: ruby/setup-ruby@v1
1212
with:
1313
ruby-version: '3.1'
@@ -21,22 +21,22 @@ jobs:
2121
uses: actions/cache@v3
2222
with:
2323
path: ~/.gradle/wrapper
24-
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
24+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
2525
restore-keys: |
2626
${{ runner.OS }}-gradle-wrapper-cache-
2727
- name: Cache Gradle caches
2828
uses: actions/cache@v3
2929
with:
3030
path: ~/.gradle/caches
31-
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle') }}
31+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
3232
restore-keys: |
3333
${{ runner.OS }}-gradle-caches-cache-
3434
- name: generate ksProp file
3535
run: ./gradlew generateKsPropFile
3636
- name: generate google-services.json file
37-
run: ./gradlew generateGoogleServicesJson
3837
env:
3938
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }}
39+
run: ./gradlew generateGoogleServicesJson
4040
- name: setup fastlane
4141
run: bundle install
4242
- name: run unit tests
@@ -50,12 +50,26 @@ jobs:
5050
lint:
5151
runs-on: ubuntu-latest
5252
steps:
53-
- uses: actions/checkout@v1
53+
- uses: actions/checkout@v4
5454
- name: set up JDK 17
55-
uses: actions/setup-java@v1
55+
uses: actions/setup-java@v4
5656
with:
5757
distribution: 'zulu'
5858
java-version: '17'
59+
- name: Cache Gradle wrapper
60+
uses: actions/cache@v3
61+
with:
62+
path: ~/.gradle/wrapper
63+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
64+
restore-keys: |
65+
${{ runner.OS }}-gradle-wrapper-cache-
66+
- name: Cache Gradle caches
67+
uses: actions/cache@v3
68+
with:
69+
path: ~/.gradle/caches
70+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
71+
restore-keys: |
72+
${{ runner.OS }}-gradle-caches-cache-
5973
- name: generate ksProp file
6074
run: ./gradlew generateKsPropFile
6175
- name: generate google-services.json file
@@ -74,12 +88,26 @@ jobs:
7488
runs-on: ubuntu-latest
7589
steps:
7690
- name: checkout
77-
uses: actions/checkout@v2
91+
uses: actions/checkout@v4
7892
- name: set up JDK 17
7993
uses: actions/setup-java@v4
8094
with:
8195
distribution: 'zulu'
8296
java-version: '17'
97+
- name: Cache Gradle wrapper
98+
uses: actions/cache@v3
99+
with:
100+
path: ~/.gradle/wrapper
101+
key: ${{ runner.OS }}-gradle-wrapper-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/wrapper/gradle-wrapper.properties', 'gradle/libs.versions.toml') }}
102+
restore-keys: |
103+
${{ runner.OS }}-gradle-wrapper-cache-
104+
- name: Cache Gradle caches
105+
uses: actions/cache@v3
106+
with:
107+
path: ~/.gradle/caches
108+
key: ${{ runner.OS }}-gradle-caches-cache-${{ hashFiles('build.gradle.kts', 'settings.gradle.kts', 'gradle/libs.versions.toml') }}
109+
restore-keys: |
110+
${{ runner.OS }}-gradle-caches-cache-
83111
- name: generate ksProp file
84112
run: ./gradlew generateKsPropFile
85113
- name: generate google-services.json file
@@ -91,8 +119,38 @@ jobs:
91119
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
92120
sudo udevadm control --reload-rules
93121
sudo udevadm trigger --name-match=kvm
94-
- name: run tests
122+
- name: run tests with screen record
95123
uses: reactivecircus/android-emulator-runner@v2
96124
with:
97125
api-level: 29
98-
script: ./gradlew connectedCheck
126+
script: |
127+
adb shell screenrecord /sdcard/ui-test.mp4 &
128+
SCREENRECORD_PID=$!
129+
./gradlew connectedCheck
130+
kill $SCREENRECORD_PID || true
131+
adb pull /sdcard/ui-test.mp4 ./ui-test.mp4 || true
132+
- name: Upload UI test video
133+
uses: actions/upload-artifact@v4
134+
with:
135+
name: ui-test-video
136+
path: ./ui-test.mp4
137+
- name: Upload UI test results
138+
if: always()
139+
uses: actions/upload-artifact@v4
140+
with:
141+
name: ui-test-results
142+
path: app/build/reports/androidTests/connected/
143+
144+
notify-slack:
145+
needs: unit-test
146+
runs-on: ubuntu-latest
147+
if: always() # Runs regardless of success or failure of unit-test
148+
steps:
149+
- name: Send Slack notification
150+
env:
151+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_GITHUB_BUILD_INFO }}
152+
run: |
153+
STATUS="${{ needs.unit-test.result }}"
154+
curl -X POST -H 'Content-type: application/json' \
155+
--data "{\"text\":\"Unit tests completed: $STATUS\"}" \
156+
$SLACK_WEBHOOK_URL

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
source "https://rubygems.org"
22

3-
gem "fastlane"
3+
gem "fastlane", ">= 2.220.0"
44
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
55
eval_gemfile(plugins_path) if File.exist?(plugins_path)

0 commit comments

Comments
 (0)