Skip to content

Commit 060e465

Browse files
authored
Merge branch 'develop' into dependabot/gradle/koin-4.0.0
2 parents 4e8820a + 137f744 commit 060e465

File tree

162 files changed

+1226
-1950
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+1226
-1950
lines changed

.github/workflows/check_pr.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
name: Check PR
22

33
on:
4-
pull_request:
5-
branches:
6-
'**'
7-
paths-ignore:
8-
- '**.md'
9-
- '.idea/**'
10-
- '.github/**'
4+
# pull_request:
5+
# branches:
6+
# '**'
7+
# paths-ignore:
8+
# - '**.md'
9+
# - '.idea/**'
10+
# - '.github/**'
1111
workflow_dispatch:
1212

1313
concurrency:
@@ -33,11 +33,11 @@ jobs:
3333
- name: Validate Gradle Wrapper
3434
uses: gradle/wrapper-validation-action@v1
3535

36-
- name: Set up JDK 17
36+
- name: Set up JDK 21
3737
uses: actions/setup-java@v3
3838
with:
3939
distribution: 'zulu'
40-
java-version: 17
40+
java-version: 21
4141

4242
- name: Setup Gradle
4343
uses: gradle/[email protected]

.github/workflows/ci.yml

Lines changed: 353 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,353 @@
1+
name: Check Commit CI
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- '**.md'
7+
pull_request:
8+
paths-ignore:
9+
- '**.md'
10+
workflow_dispatch:
11+
12+
concurrency:
13+
group: environment-${{ github.ref }}
14+
cancel-in-progress: false
15+
16+
env:
17+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
TMDB_API_KEY: ${{ secrets.TMDB_API_KEY }}
19+
20+
jobs:
21+
job-common:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
SHORT_SHA: ${{ steps.expose_sha.outputs.short_sha }}
25+
steps:
26+
- name: expose short commit sha
27+
id: expose_sha
28+
run: |
29+
SHORT_SHA=${GITHUB_SHA::7}
30+
echo "short_sha=$SHORT_SHA" >> $GITHUB_ENV
31+
echo "SHORT_SHA=$SHORT_SHA" >> $GITHUB_OUTPUT
32+
33+
build-android:
34+
if: false
35+
needs: job-common
36+
runs-on: ubuntu-latest
37+
timeout-minutes: 60
38+
env:
39+
KEYSTORE_FILE: ${{ secrets.KEYSTORE_FILE }}
40+
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
41+
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
42+
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
43+
SHORT_SHA: ${{ needs.job-common.outputs.SHORT_SHA }}
44+
steps:
45+
- name: checkout repo
46+
uses: actions/checkout@v4
47+
with:
48+
fetch-depth: 0
49+
50+
- name: setup jdk 21
51+
uses: actions/setup-java@v4
52+
with:
53+
distribution: 'temurin'
54+
java-version: '21'
55+
56+
- name: cache gradle dependencies
57+
uses: actions/cache@v3
58+
with:
59+
path: ~/.gradle/caches
60+
key: gradle-${{ runner.os }}-${{ hashFiles('/*.gradle*', '/gradle-wrapper.properties') }}
61+
restore-keys: |
62+
gradle-${{ runner.os }}-
63+
64+
- name: cache gradle wrapper
65+
uses: actions/cache@v3
66+
with:
67+
path: ~/.gradle/wrapper
68+
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
69+
70+
- name: clean outputs directory
71+
run: rm -rf app/build/outputs/*
72+
73+
- name: make gradlew executable
74+
run: chmod +x ./gradlew
75+
76+
- name: decode keystore file
77+
id: decode_keystore_file
78+
uses: timheuer/base64-to-file@v1
79+
with:
80+
fileName: 'keystore_release.jks'
81+
encodedString: ${{ secrets.KEYSTORE_FILE }}
82+
83+
- name: set decoded file location as environment
84+
run: echo "KEYSTORE_FILE=${{ steps.decode_keystore_file.outputs.filePath }}" >> $GITHUB_ENV
85+
86+
- name: assemble android gms debug artifact
87+
run: ./gradlew androidApp:assembleGmsDebug
88+
89+
- name: assemble android hms debug artifact
90+
run: ./gradlew androidApp:assembleHmsDebug
91+
92+
- name: assemble android foss debug artifact
93+
run: ./gradlew androidApp:assembleFossDebug
94+
95+
- name: assemble android gms release artifact
96+
run: ./gradlew androidApp:assembleGmsRelease
97+
98+
- name: assemble android hms release artifact
99+
run: ./gradlew androidApp:assembleHmsRelease
100+
101+
- name: assemble android foss release artifact
102+
run: ./gradlew androidApp:assembleFossRelease
103+
104+
- name: assemble android gms release bundle artifact
105+
run: ./gradlew androidApp:bundleGmsRelease
106+
107+
- name: upload artifacts to outputs
108+
uses: actions/upload-artifact@v4
109+
with:
110+
path: |
111+
androidApp/build/outputs/apk/gms/debug
112+
androidApp/build/outputs/apk/hms/debug
113+
androidApp/build/outputs/apk/foss/debug
114+
androidApp/build/outputs/apk/gms/release
115+
androidApp/build/outputs/apk/hms/release
116+
androidApp/build/outputs/apk/foss/release
117+
androidApp/build/outputs/bundle/gmsRelease
118+
119+
- name: expose version name
120+
id: version_name
121+
run: |
122+
VERSION_NAME=$(./gradlew androidApp:printVersionName -q)
123+
echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
124+
125+
- name: expose version code
126+
id: version_code
127+
run: |
128+
VERSION_CODE=$(./gradlew androidApp:printVersionCode -q)
129+
echo "VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV
130+
131+
- name: expose android apk paths
132+
run: |
133+
echo "GMS_DEBUG_APK_PATH=$(find androidApp/build/outputs/apk/gms/debug -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
134+
echo "HMS_DEBUG_APK_PATH=$(find androidApp/build/outputs/apk/hms/debug -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
135+
echo "FOSS_DEBUG_APK_PATH=$(find androidApp/build/outputs/apk/foss/debug -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
136+
echo "GMS_RELEASE_APK_PATH=$(find androidApp/build/outputs/apk/gms/release -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
137+
echo "HMS_RELEASE_APK_PATH=$(find androidApp/build/outputs/apk/hms/release -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
138+
echo "FOSS_RELEASE_APK_PATH=$(find androidApp/build/outputs/apk/foss/release -name '*.apk' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
139+
echo "GMS_RELEASE_AAB_PATH=$(find androidApp/build/outputs/bundle/gmsRelease -name '*.aab' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
140+
141+
- name: send android telegram message gms debug
142+
env:
143+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
144+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
145+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
146+
MESSAGE: |
147+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
148+
<b>Ветка:</b> ${{ github.ref_name }}
149+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
150+
run: |
151+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
152+
-F chat_id="${CHAT_ID}" \
153+
-F document="@${{ env.GMS_DEBUG_APK_PATH }}" \
154+
-F caption="${{ env.MESSAGE }}" \
155+
-F message_thread_id="${THREAD_ID}" \
156+
-F parse_mode="HTML"
157+
158+
- name: send android telegram message hms debug
159+
env:
160+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
161+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
162+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
163+
MESSAGE: |
164+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
165+
<b>Ветка:</b> ${{ github.ref_name }}
166+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
167+
run: |
168+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
169+
-F chat_id="${CHAT_ID}" \
170+
-F document="@${{ env.HMS_DEBUG_APK_PATH }}" \
171+
-F caption="${{ env.MESSAGE }}" \
172+
-F message_thread_id="${THREAD_ID}" \
173+
-F parse_mode="HTML"
174+
175+
- name: send android telegram message foss debug
176+
env:
177+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
178+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
179+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
180+
MESSAGE: |
181+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
182+
<b>Ветка:</b> ${{ github.ref_name }}
183+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
184+
run: |
185+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
186+
-F chat_id="${CHAT_ID}" \
187+
-F document="@${{ env.FOSS_DEBUG_APK_PATH }}" \
188+
-F caption="${{ env.MESSAGE }}" \
189+
-F message_thread_id="${THREAD_ID}" \
190+
-F parse_mode="HTML"
191+
192+
- name: send android telegram message gms release
193+
env:
194+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
195+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
196+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
197+
MESSAGE: |
198+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
199+
<b>Ветка:</b> ${{ github.ref_name }}
200+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
201+
run: |
202+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
203+
-F chat_id="${CHAT_ID}" \
204+
-F document="@${{ env.GMS_RELEASE_APK_PATH }}" \
205+
-F caption="${{ env.MESSAGE }}" \
206+
-F message_thread_id="${THREAD_ID}" \
207+
-F parse_mode="HTML"
208+
209+
- name: send android telegram message hms release
210+
env:
211+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
212+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
213+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
214+
MESSAGE: |
215+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
216+
<b>Ветка:</b> ${{ github.ref_name }}
217+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
218+
run: |
219+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
220+
-F chat_id="${CHAT_ID}" \
221+
-F document="@${{ env.HMS_RELEASE_APK_PATH }}" \
222+
-F caption="${{ env.MESSAGE }}" \
223+
-F message_thread_id="${THREAD_ID}" \
224+
-F parse_mode="HTML"
225+
226+
- name: send android telegram message foss release
227+
env:
228+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
229+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
230+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
231+
MESSAGE: |
232+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
233+
<b>Ветка:</b> ${{ github.ref_name }}
234+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
235+
run: |
236+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
237+
-F chat_id="${CHAT_ID}" \
238+
-F document="@${{ env.FOSS_RELEASE_APK_PATH }}" \
239+
-F caption="${{ env.MESSAGE }}" \
240+
-F message_thread_id="${THREAD_ID}" \
241+
-F parse_mode="HTML"
242+
243+
- name: send android telegram message gms release bundle
244+
env:
245+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
246+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
247+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
248+
MESSAGE: |
249+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
250+
<b>Ветка:</b> ${{ github.ref_name }}
251+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
252+
run: |
253+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
254+
-F chat_id="${CHAT_ID}" \
255+
-F document="@${{ env.GMS_RELEASE_AAB_PATH }}" \
256+
-F caption="${{ env.MESSAGE }}" \
257+
-F message_thread_id="${THREAD_ID}" \
258+
-F parse_mode="HTML"
259+
260+
build-desktop:
261+
needs: job-common
262+
runs-on: macos-latest
263+
timeout-minutes: 60
264+
env:
265+
SHORT_SHA: ${{ needs.job-common.outputs.SHORT_SHA }}
266+
steps:
267+
- name: checkout repo
268+
uses: actions/checkout@v4
269+
with:
270+
fetch-depth: 0
271+
272+
- name: setup jdk 21
273+
uses: actions/setup-java@v4
274+
with:
275+
distribution: 'temurin'
276+
java-version: '21'
277+
278+
- name: cache gradle dependencies
279+
uses: actions/cache@v3
280+
with:
281+
path: ~/.gradle/caches
282+
key: gradle-${{ runner.os }}-${{ hashFiles('/*.gradle*', '/gradle-wrapper.properties') }}
283+
restore-keys: |
284+
gradle-${{ runner.os }}-
285+
286+
- name: cache gradle wrapper
287+
uses: actions/cache@v3
288+
with:
289+
path: ~/.gradle/wrapper
290+
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
291+
292+
- name: assemble macos dmg artifact
293+
run: ./gradlew :desktopApp:packageDmg
294+
295+
# - name: upload binaries
296+
# uses: actions/upload-artifact@v4
297+
# with:
298+
# path: desktopApp/build/compose/binaries/main/**
299+
300+
- name: "upload artifacts to outputs"
301+
uses: actions/upload-artifact@v4
302+
with:
303+
name: app-mac-silicon
304+
path: desktopApp/build/compose/binaries/main/dmg
305+
306+
- name: find dmg file
307+
run: find . -name "*.dmg"
308+
309+
- name: expose version name
310+
id: version_name
311+
run: |
312+
VERSION_NAME=$(./gradlew desktopApp:printVersionName -q)
313+
echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
314+
315+
- name: expose dmg path
316+
run: |
317+
echo "DMG_PATH=$(find desktopApp/build/compose/binaries/main/dmg -name '*.dmg' -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -d' ' -f2)" >> $GITHUB_ENV
318+
319+
- name: send macos telegram message
320+
env:
321+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
322+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
323+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
324+
MESSAGE: |
325+
✅ <b>${{ env.VERSION_NAME }}</b>
326+
<b>Ветка:</b> ${{ github.ref_name }}
327+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
328+
<b>.dmg URL:</b> ${{ env.DMG_PATH }}
329+
<b>DMG_URL }}">Скачать DMG</a></b>
330+
<b><a href="${{ env.DMG_URL }}">Скачать DMG</a></b>
331+
run: |
332+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendMessage" \
333+
-F chat_id="${CHAT_ID}" \
334+
-F text="${MESSAGE}" \
335+
-F message_thread_id="${THREAD_ID}" \
336+
-F parse_mode="HTML"
337+
338+
- name: send macos telegram document
339+
env:
340+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
341+
CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
342+
THREAD_ID: ${{ secrets.TELEGRAM_THREAD_ID }}
343+
MESSAGE: |
344+
✅ <b>${{ env.VERSION_NAME }} (${{ env.VERSION_CODE }})</b>
345+
<b>Ветка:</b> ${{ github.ref_name }}
346+
<b>Коммит:</b> <code>${{ env.SHORT_SHA }}</code>
347+
run: |
348+
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_TOKEN}/sendDocument" \
349+
-F chat_id="${CHAT_ID}" \
350+
-F document="@${{ env.DMG_URL }}" \
351+
-F caption="${{ env.MESSAGE }}" \
352+
-F message_thread_id="${THREAD_ID}" \
353+
-F parse_mode="HTML"

0 commit comments

Comments
 (0)