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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/payload/scripts/__pycache__/changelog_manager.cpython-314.pyc +0 -0
- package/payload/scripts/__pycache__/version_manager.cpython-314.pyc +0 -0
- package/payload/scripts/version_manager.py +7 -0
- package/payload/workflows/common/PROJECT-COMMON-AI-PR-SUMMARY.yaml +1 -1
- package/payload/workflows/common/PROJECT-COMMON-AUTO-CHANGELOG-CONTROL.yaml +1 -1
- package/payload/workflows/common/PROJECT-COMMON-README-VERSION-UPDATE.yaml +1 -1
- package/payload/workflows/common/PROJECT-COMMON-RELEASE-PUBLISH.yaml +1 -1
- package/payload/workflows/common/PROJECT-COMMON-VERSION-CONTROL.yaml +1 -1
- package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-FIREBASE-CICD.yaml +26 -15
- package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-PLAYSTORE-CICD.yaml +37 -23
- package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-SELFHOSTED-CICD.yaml +10 -7
- package/payload/workflows/flutter/PROJECT-FLUTTER-ANDROID-TEST-APK.yaml +43 -40
- package/payload/workflows/flutter/PROJECT-FLUTTER-CI.yaml +45 -19
- package/payload/workflows/flutter/PROJECT-FLUTTER-IOS-TEST-TESTFLIGHT.yaml +39 -35
- package/payload/workflows/flutter/PROJECT-FLUTTER-IOS-TESTFLIGHT.yaml +33 -22
- package/payload/workflows/flutter/PROJECT-FLUTTER-SUH-LAB-APP-BUILD-TRIGGER.yaml +9 -9
- package/payload/workflows/next/PROJECT-NEXT-CI.yaml +6 -6
- package/payload/workflows/next/PROJECT-NEXT-CICD.yaml +6 -6
- package/payload/workflows/python/PROJECT-PYTHON-CI.yaml +1 -1
- package/payload/workflows/python/PROJECT-PYTHON-PR-PREVIEW.yaml +27 -27
- package/payload/workflows/python/PROJECT-PYTHON-SIMPLE-CICD.yaml +1 -1
- package/payload/workflows/react/PROJECT-REACT-CI.yaml +6 -6
- package/payload/workflows/react/PROJECT-REACT-CICD.yaml +6 -6
- package/payload/workflows/spring/PROJECT-SPRING-GITHUB-PACKAGES-PUBLISH.yml +2 -2
- package/payload/workflows/spring/nexus/PROJECT-SPRING-NEXUS-CI.yml +5 -5
- package/payload/workflows/spring/nexus/PROJECT-SPRING-NEXUS-PUBLISH.yml +2 -2
- package/payload/workflows/spring/server-deploy/PROJECT-SPRING-NONSTOP-NGINX-CICD.yaml +3 -3
- package/payload/workflows/spring/server-deploy/PROJECT-SPRING-NONSTOP-TRAEFIK-CICD.yaml +3 -3
- package/payload/workflows/spring/server-deploy/PROJECT-SPRING-PR-PREVIEW.yaml +36 -36
- package/payload/workflows/spring/server-deploy/PROJECT-SPRING-SIMPLE-CICD.yaml +3 -3
- package/src/commands/interactive.js +4 -3
- package/src/core/detect-fs.js +8 -1
- package/src/core/detect.js +39 -0
- package/src/index.js +3 -3
- package/src/ui/summary.js +5 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npx project-auto-wizard
|
|
|
17
17
|
[](package.json)
|
|
18
18
|
|
|
19
19
|
<!-- AUTO-VERSION-SECTION: DO NOT EDIT MANUALLY -->
|
|
20
|
-
## 최신 버전 : v0.1.
|
|
20
|
+
## 최신 버전 : v0.1.30 (2026-08-08)
|
|
21
21
|
|
|
22
22
|
[전체 버전 기록 보기](CHANGELOG.md)
|
|
23
23
|
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -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'
|
|
@@ -83,7 +83,7 @@ jobs:
|
|
|
83
83
|
|
|
84
84
|
steps:
|
|
85
85
|
- name: Checkout repository
|
|
86
|
-
uses: actions/checkout@
|
|
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@
|
|
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:
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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:
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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
|
-
|
|
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.
|
|
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@
|
|
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@
|
|
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:
|
|
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@
|
|
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@
|
|
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.
|
|
195
|
+
working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
|
|
190
196
|
|
|
191
197
|
steps:
|
|
192
198
|
- name: Checkout repository
|
|
193
|
-
uses: actions/checkout@
|
|
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@
|
|
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@
|
|
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:
|
|
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@
|
|
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@
|
|
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@
|
|
516
|
+
uses: actions/upload-artifact@v7
|
|
504
517
|
with:
|
|
505
518
|
name: android-aab
|
|
506
|
-
path: ${{ env.
|
|
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.
|
|
529
|
+
working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
|
|
516
530
|
|
|
517
531
|
steps:
|
|
518
532
|
- name: Checkout repository
|
|
519
|
-
uses: actions/checkout@
|
|
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@
|
|
547
|
+
uses: actions/download-artifact@v8
|
|
534
548
|
with:
|
|
535
549
|
name: android-aab
|
|
536
|
-
path: ${{ env.
|
|
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@
|
|
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.
|
|
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가
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
246
|
+
uses: actions/download-artifact@v8
|
|
244
247
|
with:
|
|
245
248
|
name: ${{ env.APP_ARTIFACT_NAME }}-apk
|
|
246
249
|
path: android/app/build/outputs/
|