project-auto-wizard 0.1.24 → 0.1.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/payload/scripts/__pycache__/changelog_manager.cpython-314.pyc +0 -0
  4. package/payload/scripts/__pycache__/version_manager.cpython-314.pyc +0 -0
  5. package/payload/scripts/version_manager.py +7 -0
  6. package/payload/workflows/common/PROJECT-COMMON-AI-PR-SUMMARY.yaml +1 -1
  7. package/payload/workflows/common/PROJECT-COMMON-AUTO-CHANGELOG-CONTROL.yaml +1 -1
  8. package/payload/workflows/common/PROJECT-COMMON-README-VERSION-UPDATE.yaml +1 -1
  9. package/payload/workflows/common/PROJECT-COMMON-RELEASE-PUBLISH.yaml +1 -1
  10. package/payload/workflows/common/PROJECT-COMMON-VERSION-CONTROL.yaml +1 -1
  11. package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-FIREBASE-CICD.yaml +26 -15
  12. package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-PLAYSTORE-CICD.yaml +37 -23
  13. package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-SELFHOSTED-CICD.yaml +10 -7
  14. package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-TEST-APK.yaml +43 -40
  15. package/payload/workflows/flutter/PROJECT-FLUTTER-CI.yaml +45 -19
  16. package/payload/workflows/flutter/PROJECT-FLUTTER-IOS-TEST-TESTFLIGHT.yaml +39 -35
  17. package/payload/workflows/flutter/PROJECT-FLUTTER-IOS-TESTFLIGHT.yaml +33 -22
  18. package/payload/workflows/flutter/PROJECT-FLUTTER-SUH-LAB-APP-BUILD-TRIGGER.yaml +9 -9
  19. package/payload/workflows/next/PROJECT-NEXT-CI.yaml +6 -6
  20. package/payload/workflows/next/PROJECT-NEXT-CICD.yaml +6 -6
  21. package/payload/workflows/python/PROJECT-PYTHON-CI.yaml +1 -1
  22. package/payload/workflows/python/PROJECT-PYTHON-PR-PREVIEW.yaml +27 -27
  23. package/payload/workflows/python/PROJECT-PYTHON-SIMPLE-CICD.yaml +1 -1
  24. package/payload/workflows/react/PROJECT-REACT-CI.yaml +6 -6
  25. package/payload/workflows/react/PROJECT-REACT-CICD.yaml +6 -6
  26. package/payload/workflows/spring/PROJECT-SPRING-GITHUB-PACKAGES-PUBLISH.yml +2 -2
  27. package/payload/workflows/spring/nexus/PROJECT-SPRING-NEXUS-CI.yml +5 -5
  28. package/payload/workflows/spring/nexus/PROJECT-SPRING-NEXUS-PUBLISH.yml +2 -2
  29. package/payload/workflows/spring/server-deploy/PROJECT-SPRING-NONSTOP-NGINX-CICD.yaml +3 -3
  30. package/payload/workflows/spring/server-deploy/PROJECT-SPRING-NONSTOP-TRAEFIK-CICD.yaml +3 -3
  31. package/payload/workflows/spring/server-deploy/PROJECT-SPRING-PR-PREVIEW.yaml +36 -36
  32. package/payload/workflows/spring/server-deploy/PROJECT-SPRING-SIMPLE-CICD.yaml +3 -3
  33. package/src/commands/interactive.js +4 -3
  34. package/src/core/detect-fs.js +8 -1
  35. package/src/core/detect.js +39 -0
  36. package/src/index.js +3 -3
  37. package/src/ui/summary.js +5 -1
package/README.md CHANGED
@@ -17,7 +17,7 @@ npx project-auto-wizard
17
17
  [![node](https://img.shields.io/badge/node-%3E%3D20.12-brightgreen)](package.json)
18
18
 
19
19
  <!-- AUTO-VERSION-SECTION: DO NOT EDIT MANUALLY -->
20
- ## 최신 버전 : v0.1.23 (2026-08-06)
20
+ ## 최신 버전 : v0.1.30 (2026-08-08)
21
21
 
22
22
  [전체 버전 기록 보기](CHANGELOG.md)
23
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-auto-wizard",
3
- "version": "0.1.24",
3
+ "version": "0.1.31",
4
4
  "description": "One command DevOps: npx wizard that installs GitHub-native AI Release Automation into any project",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -221,6 +221,13 @@ def get_version_code():
221
221
 
222
222
 
223
223
  def set_version_code(new_code):
224
+ current = read_scalar_key("version_code", None)
225
+ if current not in (None, "", "null"):
226
+ try:
227
+ if int(new_code) < int(current):
228
+ log(f"WARNING: version_code {new_code} is lower than current {current} — writing anyway (regression?)")
229
+ except ValueError:
230
+ pass
224
231
  text = read_text()
225
232
  pattern = re.compile(r'^version_code:[ \t]*.*$', re.MULTILINE)
226
233
  replacement = f'version_code: {new_code} # app build number'
@@ -37,7 +37,7 @@ jobs:
37
37
  runs-on: ubuntu-latest
38
38
  steps:
39
39
  - name: Checkout PR head
40
- uses: actions/checkout@v5
40
+ uses: actions/checkout@v7
41
41
  with:
42
42
  fetch-depth: 0
43
43
  ref: ${{ github.event.pull_request.head.ref }}
@@ -66,7 +66,7 @@ jobs:
66
66
  runs-on: ubuntu-latest
67
67
  steps:
68
68
  - name: Checkout PR head
69
- uses: actions/checkout@v5
69
+ uses: actions/checkout@v7
70
70
  with:
71
71
  token: ${{ secrets.GITHUB_TOKEN }}
72
72
  fetch-depth: 0
@@ -68,7 +68,7 @@ jobs:
68
68
  runs-on: ubuntu-latest
69
69
  steps:
70
70
  - name: Checkout repository
71
- uses: actions/checkout@v5
71
+ uses: actions/checkout@v7
72
72
  with:
73
73
  token: ${{ secrets.GITHUB_TOKEN }}
74
74
  fetch-depth: 0
@@ -62,7 +62,7 @@ jobs:
62
62
  runs-on: ubuntu-latest
63
63
  steps:
64
64
  - name: Checkout repository
65
- uses: actions/checkout@v5
65
+ uses: actions/checkout@v7
66
66
  with:
67
67
  token: ${{ secrets.GITHUB_TOKEN }}
68
68
  fetch-depth: 0
@@ -47,7 +47,7 @@ jobs:
47
47
 
48
48
  steps:
49
49
  - name: Checkout repository
50
- uses: actions/checkout@v5
50
+ uses: actions/checkout@v7
51
51
  with:
52
52
  token: ${{ secrets.GITHUB_TOKEN }}
53
53
  fetch-depth: 0
@@ -83,7 +83,7 @@ jobs:
83
83
 
84
84
  steps:
85
85
  - name: Checkout repository
86
- uses: actions/checkout@v5
86
+ uses: actions/checkout@v7
87
87
  with:
88
88
  ref: main
89
89
  fetch-depth: 0
@@ -105,14 +105,18 @@ jobs:
105
105
  cache: true
106
106
 
107
107
  - name: Cache Flutter dependencies
108
- uses: actions/cache@v4
108
+ uses: actions/cache@v6
109
109
  with:
110
110
  path: ~/.pub-cache
111
111
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
112
112
  restore-keys: ${{ runner.os }}-flutter-pub-
113
113
 
114
114
  - name: Install dependencies
115
- run: flutter pub get
115
+ run: |
116
+ flutter pub get
117
+ if grep -q "build_runner" pubspec.yaml; then
118
+ dart run build_runner build --delete-conflicting-outputs
119
+ fi
116
120
 
117
121
  # version_manager.py를 사용하여 현재 버전 정보 가져오기
118
122
  - name: 현재 버전 정보 가져오기
@@ -175,7 +179,7 @@ jobs:
175
179
 
176
180
  # 릴리즈 노트를 아티팩트로 업로드
177
181
  - name: Upload release notes
178
- uses: actions/upload-artifact@v4
182
+ uses: actions/upload-artifact@v7
179
183
  with:
180
184
  name: release-notes
181
185
  path: final_release_notes.txt
@@ -184,7 +188,7 @@ jobs:
184
188
  # 프로젝트 파일들을 아티팩트로 업로드
185
189
  # .env는 보안상 아티팩트에 포함하지 않고, 각 job에서 secrets로 재생성
186
190
  - name: Upload project files
187
- uses: actions/upload-artifact@v4
191
+ uses: actions/upload-artifact@v7
188
192
  with:
189
193
  name: project-files
190
194
  path: |
@@ -200,7 +204,7 @@ jobs:
200
204
 
201
205
  steps:
202
206
  - name: Checkout repository
203
- uses: actions/checkout@v5
207
+ uses: actions/checkout@v7
204
208
  with:
205
209
  ref: main
206
210
  fetch-depth: 0
@@ -210,7 +214,7 @@ jobs:
210
214
 
211
215
  # 프로젝트 파일들 다운로드
212
216
  - name: Download project files
213
- uses: actions/download-artifact@v4
217
+ uses: actions/download-artifact@v8
214
218
  with:
215
219
  name: project-files
216
220
  path: .
@@ -258,23 +262,27 @@ jobs:
258
262
  cache: true
259
263
 
260
264
  - name: Cache Flutter dependencies
261
- uses: actions/cache@v4
265
+ uses: actions/cache@v6
262
266
  with:
263
267
  path: ~/.pub-cache
264
268
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
265
269
  restore-keys: ${{ runner.os }}-flutter-pub-
266
270
 
267
271
  - name: Install dependencies
268
- run: flutter pub get
272
+ run: |
273
+ flutter pub get
274
+ if grep -q "build_runner" pubspec.yaml; then
275
+ dart run build_runner build --delete-conflicting-outputs
276
+ fi
269
277
 
270
278
  - name: Set up Java
271
- uses: actions/setup-java@v4
279
+ uses: actions/setup-java@v5
272
280
  with:
273
281
  distribution: "temurin"
274
282
  java-version: ${{ env.JAVA_VERSION }}
275
283
 
276
284
  - name: Cache Gradle dependencies
277
- uses: actions/cache@v4
285
+ uses: actions/cache@v6
278
286
  with:
279
287
  path: |
280
288
  ~/.gradle/caches
@@ -328,6 +336,9 @@ jobs:
328
336
  echo "🔄 Flutter clean 및 의존성 재설치..."
329
337
  flutter clean
330
338
  flutter pub get
339
+ if grep -q "build_runner" pubspec.yaml; then
340
+ dart run build_runner build --delete-conflicting-outputs
341
+ fi
331
342
 
332
343
  # local.properties에 버전 정보 추가 (Flutter 플래그가 무시되는 문제 해결)
333
344
  echo "🔧 local.properties에 버전 정보 설정..."
@@ -510,7 +521,7 @@ jobs:
510
521
 
511
522
  # AAB 파일을 아티팩트로 업로드
512
523
  - name: Upload AAB artifact
513
- uses: actions/upload-artifact@v4
524
+ uses: actions/upload-artifact@v7
514
525
  with:
515
526
  name: android-aab
516
527
  path: build/app/outputs/bundle/release/app-release.aab
@@ -523,21 +534,21 @@ jobs:
523
534
 
524
535
  steps:
525
536
  - name: Checkout repository
526
- uses: actions/checkout@v5
537
+ uses: actions/checkout@v7
527
538
  with:
528
539
  ref: main
529
540
  fetch-depth: 0
530
541
 
531
542
  # AAB 파일 다운로드
532
543
  - name: Download AAB artifact
533
- uses: actions/download-artifact@v4
544
+ uses: actions/download-artifact@v8
534
545
  with:
535
546
  name: android-aab
536
547
  path: build/app/outputs/bundle/release/
537
548
 
538
549
  # 릴리즈 노트 다운로드
539
550
  - name: Download release notes
540
- uses: actions/download-artifact@v4
551
+ uses: actions/download-artifact@v8
541
552
  with:
542
553
  name: release-notes
543
554
  path: .
@@ -47,7 +47,7 @@ env:
47
47
  PROJECT_TYPE: "flutter"
48
48
  # Flutter 루트 경로(레포 루트 기준). 단일레포면 ".", 모노레포면 "app" 등.
49
49
  # 통합 시점에 integrator의 flutter-root resolver가 project_paths.flutter 값으로 1회 치환.
50
- FLUTTER_ROOT: "." # @wizard auto:flutter-root
50
+ FLUTTER_PROJECT_DIR: "." # @wizard auto:flutter-root
51
51
  # 배포 모드 (store_only | store_prepare | store_submit)
52
52
  DEPLOY_MODE: ${{ github.event.inputs.deploy_mode || vars.ANDROID_DEPLOY_MODE || 'store_only' }}
53
53
 
@@ -57,7 +57,7 @@ jobs:
57
57
  runs-on: ubuntu-latest
58
58
  defaults:
59
59
  run:
60
- working-directory: ${{ env.FLUTTER_ROOT }}
60
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
61
61
  # CHANGELOG 워크플로우가 성공한 경우에만 실행
62
62
  if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name != 'workflow_run' }}
63
63
 
@@ -68,7 +68,7 @@ jobs:
68
68
 
69
69
  steps:
70
70
  - name: Checkout repository
71
- uses: actions/checkout@v5
71
+ uses: actions/checkout@v7
72
72
  with:
73
73
  ref: main
74
74
  fetch-depth: 0
@@ -90,14 +90,18 @@ jobs:
90
90
  cache: true
91
91
 
92
92
  - name: Cache Flutter dependencies
93
- uses: actions/cache@v4
93
+ uses: actions/cache@v6
94
94
  with:
95
95
  path: ~/.pub-cache
96
96
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
97
97
  restore-keys: ${{ runner.os }}-flutter-pub-
98
98
 
99
99
  - name: Install dependencies
100
- run: flutter pub get
100
+ run: |
101
+ flutter pub get
102
+ if grep -q "build_runner" pubspec.yaml; then
103
+ dart run build_runner build --delete-conflicting-outputs
104
+ fi
101
105
 
102
106
  # version_manager.py를 사용하여 현재 버전 정보 가져오기
103
107
  - name: 현재 버전 정보 가져오기
@@ -162,16 +166,17 @@ jobs:
162
166
 
163
167
  # 릴리즈 노트를 아티팩트로 업로드
164
168
  - name: Upload release notes
165
- uses: actions/upload-artifact@v4
169
+ uses: actions/upload-artifact@v7
166
170
  with:
167
171
  name: release-notes
168
172
  path: final_release_notes.txt
169
173
  retention-days: 1
174
+ if-no-files-found: error
170
175
 
171
176
  # 프로젝트 파일들을 아티팩트로 업로드
172
177
  # .env는 보안상 아티팩트에 포함하지 않고, 각 job에서 secrets로 재생성
173
178
  - name: Upload project files
174
- uses: actions/upload-artifact@v4
179
+ uses: actions/upload-artifact@v7
175
180
  with:
176
181
  name: project-files
177
182
  path: |
@@ -179,6 +184,7 @@ jobs:
179
184
  lib/
180
185
  assets/
181
186
  retention-days: 1
187
+ if-no-files-found: error
182
188
 
183
189
  build-android:
184
190
  name: Android AAB 빌드
@@ -186,11 +192,11 @@ jobs:
186
192
  needs: prepare-build
187
193
  defaults:
188
194
  run:
189
- working-directory: ${{ env.FLUTTER_ROOT }}
195
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
190
196
 
191
197
  steps:
192
198
  - name: Checkout repository
193
- uses: actions/checkout@v5
199
+ uses: actions/checkout@v7
194
200
  with:
195
201
  ref: main
196
202
  fetch-depth: 0
@@ -200,7 +206,7 @@ jobs:
200
206
 
201
207
  # 프로젝트 파일들 다운로드
202
208
  - name: Download project files
203
- uses: actions/download-artifact@v4
209
+ uses: actions/download-artifact@v8
204
210
  with:
205
211
  name: project-files
206
212
  path: .
@@ -248,23 +254,27 @@ jobs:
248
254
  cache: true
249
255
 
250
256
  - name: Cache Flutter dependencies
251
- uses: actions/cache@v4
257
+ uses: actions/cache@v6
252
258
  with:
253
259
  path: ~/.pub-cache
254
260
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
255
261
  restore-keys: ${{ runner.os }}-flutter-pub-
256
262
 
257
263
  - name: Install dependencies
258
- run: flutter pub get
264
+ run: |
265
+ flutter pub get
266
+ if grep -q "build_runner" pubspec.yaml; then
267
+ dart run build_runner build --delete-conflicting-outputs
268
+ fi
259
269
 
260
270
  - name: Set up Java
261
- uses: actions/setup-java@v4
271
+ uses: actions/setup-java@v5
262
272
  with:
263
273
  distribution: "temurin"
264
274
  java-version: ${{ env.JAVA_VERSION }}
265
275
 
266
276
  - name: Cache Gradle dependencies
267
- uses: actions/cache@v4
277
+ uses: actions/cache@v6
268
278
  with:
269
279
  path: |
270
280
  ~/.gradle/caches
@@ -318,6 +328,9 @@ jobs:
318
328
  echo "🔄 Flutter clean 및 의존성 재설치..."
319
329
  flutter clean
320
330
  flutter pub get
331
+ if grep -q "build_runner" pubspec.yaml; then
332
+ dart run build_runner build --delete-conflicting-outputs
333
+ fi
321
334
 
322
335
  # local.properties에 버전 정보 추가 (Flutter 플래그가 무시되는 문제 해결)
323
336
  echo "🔧 local.properties에 버전 정보 설정..."
@@ -500,11 +513,12 @@ jobs:
500
513
 
501
514
  # AAB 파일을 아티팩트로 업로드
502
515
  - name: Upload AAB artifact
503
- uses: actions/upload-artifact@v4
516
+ uses: actions/upload-artifact@v7
504
517
  with:
505
518
  name: android-aab
506
- path: ${{ env.FLUTTER_ROOT }}/build/app/outputs/bundle/release/app-release.aab
519
+ path: ${{ env.FLUTTER_PROJECT_DIR }}/build/app/outputs/bundle/release/app-release.aab
507
520
  retention-days: 1
521
+ if-no-files-found: error
508
522
 
509
523
  deploy-playstore:
510
524
  name: Play Store 내부 테스트 배포
@@ -512,11 +526,11 @@ jobs:
512
526
  needs: [prepare-build, build-android]
513
527
  defaults:
514
528
  run:
515
- working-directory: ${{ env.FLUTTER_ROOT }}
529
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
516
530
 
517
531
  steps:
518
532
  - name: Checkout repository
519
- uses: actions/checkout@v5
533
+ uses: actions/checkout@v7
520
534
  with:
521
535
  ref: main
522
536
  fetch-depth: 0
@@ -530,14 +544,14 @@ jobs:
530
544
 
531
545
  # AAB 파일 다운로드
532
546
  - name: Download AAB artifact
533
- uses: actions/download-artifact@v4
547
+ uses: actions/download-artifact@v8
534
548
  with:
535
549
  name: android-aab
536
- path: ${{ env.FLUTTER_ROOT }}/build/app/outputs/bundle/release/
550
+ path: ${{ env.FLUTTER_PROJECT_DIR }}/build/app/outputs/bundle/release/
537
551
 
538
552
  # 릴리즈 노트 다운로드
539
553
  - name: Download release notes
540
- uses: actions/download-artifact@v4
554
+ uses: actions/download-artifact@v8
541
555
  with:
542
556
  name: release-notes
543
557
  path: .
@@ -549,7 +563,7 @@ jobs:
549
563
  ruby-version: "3.4.1"
550
564
 
551
565
  - name: Install Fastlane
552
- working-directory: ${{ env.FLUTTER_ROOT }}/android
566
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}/android
553
567
  run: |
554
568
  # multi_json: google-apis transitive 의존성이 선언 누락한 upstream 버그 회피 (gemspec 미선언 → Gem::LoadError)
555
569
  printf 'source "https://rubygems.org"\ngem "fastlane"\ngem "multi_json"\n' > Gemfile
@@ -650,7 +664,7 @@ jobs:
650
664
 
651
665
  if [ -f "$GITHUB_WORKSPACE/final_release_notes.txt" ]; then
652
666
  # Google Play release notes 한도(500 글자)에 맞춰 절단 (마진 두어 480자)
653
- # final_release_notes.txt·truncate 스크립트는 레포 루트 기준 — working-directory가 FLUTTER_ROOT이므로 절대경로 사용
667
+ # final_release_notes.txt·truncate 스크립트는 레포 루트 기준 — working-directory가 FLUTTER_PROJECT_DIR이므로 절대경로 사용
654
668
  bash "$GITHUB_WORKSPACE/.github/scripts/truncate_release_notes.sh" "$GITHUB_WORKSPACE/final_release_notes.txt" 480 char
655
669
  cp "$GITHUB_WORKSPACE/final_release_notes.txt" "$CHANGELOG_DIR/${VERSION_CODE}.txt"
656
670
  echo "✅ Changelog 준비 완료 (버전 코드: $VERSION_CODE)"
@@ -49,7 +49,7 @@ jobs:
49
49
  steps:
50
50
  # Repository 체크아웃 및 목록 출력
51
51
  - name: Check out repository
52
- uses: actions/checkout@v5
52
+ uses: actions/checkout@v7
53
53
  with:
54
54
  fetch-depth: 0
55
55
 
@@ -114,14 +114,14 @@ jobs:
114
114
 
115
115
  # Flutter 및 Gradle 캐시
116
116
  - name: Cache Flutter dependencies
117
- uses: actions/cache@v4
117
+ uses: actions/cache@v6
118
118
  with:
119
119
  path: ~/.pub-cache
120
120
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
121
121
  restore-keys: ${{ runner.os }}-flutter-pub-
122
122
 
123
123
  - name: Cache Gradle dependencies
124
- uses: actions/cache@v4
124
+ uses: actions/cache@v6
125
125
  with:
126
126
  path: |
127
127
  ~/.gradle/caches
@@ -134,6 +134,9 @@ jobs:
134
134
  - name: Install dependencies
135
135
  run: |
136
136
  flutter pub get
137
+ if grep -q "build_runner" pubspec.yaml; then
138
+ dart run build_runner build --delete-conflicting-outputs
139
+ fi
137
140
  echo "Dependencies installed"
138
141
  ls -la
139
142
 
@@ -146,7 +149,7 @@ jobs:
146
149
 
147
150
  # Java 설정 및 버전 확인
148
151
  - name: Set up Java
149
- uses: actions/setup-java@v3
152
+ uses: actions/setup-java@v5
150
153
  with:
151
154
  distribution: "temurin"
152
155
  java-version: ${{ env.JAVA_VERSION }}
@@ -212,7 +215,7 @@ jobs:
212
215
 
213
216
  # APK를 아티팩트로 업로드
214
217
  - name: Upload APK as Artifact
215
- uses: actions/upload-artifact@v4
218
+ uses: actions/upload-artifact@v7
216
219
  with:
217
220
  name: ${{ env.APP_ARTIFACT_NAME }}-apk
218
221
  path: ./android/app/build/outputs/apk/release/${{ env.APP_ARTIFACT_NAME }}-v${{ env.VERSION }}-${{ env.SHORT_COMMIT_HASH }}.apk
@@ -226,7 +229,7 @@ jobs:
226
229
 
227
230
  steps:
228
231
  - name: Checkout code
229
- uses: actions/checkout@v5
232
+ uses: actions/checkout@v7
230
233
 
231
234
  - name: List repository contents for deploy
232
235
  run: |
@@ -240,7 +243,7 @@ jobs:
240
243
  echo "SMB and jq dependencies installed"
241
244
 
242
245
  - name: Download build artifacts
243
- uses: actions/download-artifact@v4
246
+ uses: actions/download-artifact@v8
244
247
  with:
245
248
  name: ${{ env.APP_ARTIFACT_NAME }}-apk
246
249
  path: android/app/build/outputs/