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
@@ -75,7 +75,7 @@ on:
75
75
  # πŸ”§ ν”„λ‘œμ νŠΈλ³„ μ„€μ • (μ•„λž˜ 값듀을 μˆ˜μ •ν•˜μ„Έμš”)
76
76
  # ============================================
77
77
  env:
78
- FLUTTER_ROOT: "." # @wizard auto:flutter-root
78
+ FLUTTER_PROJECT_DIR: "." # @wizard auto:flutter-root
79
79
  FLUTTER_VERSION: "3.35.5"
80
80
  XCODE_VERSION: "26.0"
81
81
  PROJECT_TYPE: "flutter"
@@ -102,7 +102,7 @@ jobs:
102
102
  runs-on: macos-26
103
103
  defaults:
104
104
  run:
105
- working-directory: ${{ env.FLUTTER_ROOT }}
105
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
106
106
  if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name != 'workflow_run' }}
107
107
 
108
108
  outputs:
@@ -112,7 +112,7 @@ jobs:
112
112
 
113
113
  steps:
114
114
  - name: Checkout repository
115
- uses: actions/checkout@v5
115
+ uses: actions/checkout@v7
116
116
  with:
117
117
  ref: main
118
118
  fetch-depth: 0
@@ -147,14 +147,18 @@ jobs:
147
147
  cache: true
148
148
 
149
149
  - name: Cache Flutter dependencies
150
- uses: actions/cache@v4
150
+ uses: actions/cache@v6
151
151
  with:
152
152
  path: ~/.pub-cache
153
153
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
154
154
  restore-keys: ${{ runner.os }}-flutter-pub-
155
155
 
156
156
  - name: Install dependencies
157
- run: flutter pub get
157
+ run: |
158
+ flutter pub get
159
+ if grep -q "build_runner" pubspec.yaml; then
160
+ dart run build_runner build --delete-conflicting-outputs
161
+ fi
158
162
 
159
163
  - name: Set up Ruby
160
164
  uses: ruby/setup-ruby@v1
@@ -202,14 +206,15 @@ jobs:
202
206
  fi
203
207
 
204
208
  - name: Upload release notes
205
- uses: actions/upload-artifact@v4
209
+ uses: actions/upload-artifact@v7
206
210
  with:
207
211
  name: release-notes
208
212
  path: final_release_notes.txt
209
213
  retention-days: 1
214
+ if-no-files-found: error
210
215
 
211
216
  - name: Upload project files
212
- uses: actions/upload-artifact@v4
217
+ uses: actions/upload-artifact@v7
213
218
  with:
214
219
  name: project-files
215
220
  path: |
@@ -219,6 +224,7 @@ jobs:
219
224
  lib/
220
225
  assets/
221
226
  retention-days: 1
227
+ if-no-files-found: error
222
228
 
223
229
  # ============================================
224
230
  # iOS λΉŒλ“œ (xcodebuild 직접 μ‚¬μš©)
@@ -228,12 +234,12 @@ jobs:
228
234
  runs-on: macos-26
229
235
  defaults:
230
236
  run:
231
- working-directory: ${{ env.FLUTTER_ROOT }}
237
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
232
238
  needs: prepare-build
233
239
 
234
240
  steps:
235
241
  - name: Checkout repository
236
- uses: actions/checkout@v5
242
+ uses: actions/checkout@v7
237
243
  with:
238
244
  ref: main
239
245
  fetch-depth: 0
@@ -262,7 +268,7 @@ jobs:
262
268
  xcodebuild -downloadPlatform iOS
263
269
 
264
270
  - name: Download project files
265
- uses: actions/download-artifact@v4
271
+ uses: actions/download-artifact@v8
266
272
  with:
267
273
  name: project-files
268
274
  path: .
@@ -283,14 +289,18 @@ jobs:
283
289
  cache: true
284
290
 
285
291
  - name: Cache Flutter dependencies
286
- uses: actions/cache@v4
292
+ uses: actions/cache@v6
287
293
  with:
288
294
  path: ~/.pub-cache
289
295
  key: ${{ runner.os }}-flutter-pub-${{ hashFiles('**/pubspec.lock') }}
290
296
  restore-keys: ${{ runner.os }}-flutter-pub-
291
297
 
292
298
  - name: Install dependencies
293
- run: flutter pub get
299
+ run: |
300
+ flutter pub get
301
+ if grep -q "build_runner" pubspec.yaml; then
302
+ dart run build_runner build --delete-conflicting-outputs
303
+ fi
294
304
 
295
305
  - name: Set up Ruby
296
306
  uses: ruby/setup-ruby@v1
@@ -358,11 +368,12 @@ jobs:
358
368
  -exportOptionsPlist ExportOptions.plist
359
369
 
360
370
  - name: Upload IPA artifact
361
- uses: actions/upload-artifact@v4
371
+ uses: actions/upload-artifact@v7
362
372
  with:
363
373
  name: ios-ipa
364
- path: ${{ env.FLUTTER_ROOT }}/ios/build/ipa/*.ipa
374
+ path: ${{ env.FLUTTER_PROJECT_DIR }}/ios/build/ipa/*.ipa
365
375
  retention-days: 1
376
+ if-no-files-found: error
366
377
 
367
378
  # ============================================
368
379
  # TestFlight 배포 (λ§ˆλ²•μ‚¬ 생성 Fastfile μ‚¬μš©)
@@ -372,12 +383,12 @@ jobs:
372
383
  runs-on: macos-26
373
384
  defaults:
374
385
  run:
375
- working-directory: ${{ env.FLUTTER_ROOT }}
386
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}
376
387
  needs: [prepare-build, build-ios]
377
388
 
378
389
  steps:
379
390
  - name: Checkout repository
380
- uses: actions/checkout@v5
391
+ uses: actions/checkout@v7
381
392
  with:
382
393
  ref: main
383
394
  fetch-depth: 0
@@ -388,13 +399,13 @@ jobs:
388
399
  echo "${{ secrets.APP_STORE_CONNECT_API_KEY_BASE64 }}" | base64 --decode > ~/.appstoreconnect/private_keys/AuthKey_${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}.p8
389
400
 
390
401
  - name: Download IPA artifact
391
- uses: actions/download-artifact@v4
402
+ uses: actions/download-artifact@v8
392
403
  with:
393
404
  name: ios-ipa
394
- path: ${{ env.FLUTTER_ROOT }}/ios/build/ipa/
405
+ path: ${{ env.FLUTTER_PROJECT_DIR }}/ios/build/ipa/
395
406
 
396
407
  - name: Download release notes
397
- uses: actions/download-artifact@v4
408
+ uses: actions/download-artifact@v8
398
409
  with:
399
410
  name: release-notes
400
411
  path: .
@@ -410,7 +421,7 @@ jobs:
410
421
  echo "βœ… Fastfile 확인됨: ios/fastlane/Fastfile"
411
422
 
412
423
  - name: Install Fastlane
413
- working-directory: ${{ env.FLUTTER_ROOT }}/ios
424
+ working-directory: ${{ env.FLUTTER_PROJECT_DIR }}/ios
414
425
  run: |
415
426
  # multi_json: google-apis transitive μ˜μ‘΄μ„±μ΄ μ„ μ–Έ λˆ„λ½ν•œ upstream 버그 νšŒν”Ό (gemspec λ―Έμ„ μ–Έ β†’ Gem::LoadError)
416
427
  printf 'source "https://rubygems.org"\ngem "fastlane"\ngem "multi_json"\n' > Gemfile
@@ -424,14 +435,14 @@ jobs:
424
435
  SKIP_WAITING_FOR_BUILD_PROCESSING: ${{ env.SKIP_WAITING_FOR_BUILD_PROCESSING }}
425
436
  run: |
426
437
  # IPA μ ˆλŒ€κ²½λ‘œ 탐색
427
- IPA_PATH=$(find "$GITHUB_WORKSPACE/${FLUTTER_ROOT}/ios/build/ipa" -name "*.ipa" | head -1)
438
+ IPA_PATH=$(find "$GITHUB_WORKSPACE/${FLUTTER_PROJECT_DIR}/ios/build/ipa" -name "*.ipa" | head -1)
428
439
  echo "πŸ“¦ Found IPA at: $IPA_PATH"
429
440
 
430
441
  if [ ! -f "$IPA_PATH" ]; then
431
442
  echo "❌ IPA νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€!"; ls -la ios/build/ipa/ || true; exit 1
432
443
  fi
433
444
 
434
- # Release notes μ€€λΉ„ (final_release_notes.txtΒ·truncate μŠ€ν¬λ¦½νŠΈλŠ” 레포 루트 κΈ°μ€€ β€” working-directoryκ°€ FLUTTER_ROOTμ΄λ―€λ‘œ μ ˆλŒ€κ²½λ‘œ μ‚¬μš©)
445
+ # Release notes μ€€λΉ„ (final_release_notes.txtΒ·truncate μŠ€ν¬λ¦½νŠΈλŠ” 레포 루트 κΈ°μ€€ β€” working-directoryκ°€ FLUTTER_PROJECT_DIRμ΄λ―€λ‘œ μ ˆλŒ€κ²½λ‘œ μ‚¬μš©)
435
446
  if [ -f "$GITHUB_WORKSPACE/final_release_notes.txt" ]; then
436
447
  # App Store Connect "What to Test" ν•œλ„(4000 λ°”μ΄νŠΈ)에 맞좰 μ ˆλ‹¨ (λ§ˆμ§„ 두어 3800byte)
437
448
  bash "$GITHUB_WORKSPACE/.github/scripts/truncate_release_notes.sh" "$GITHUB_WORKSPACE/final_release_notes.txt" 3800 byte
@@ -55,7 +55,7 @@ jobs:
55
55
 
56
56
  steps:
57
57
  - name: λŒ“κΈ€μ— πŸ‘€ λ¦¬μ•‘μ…˜ μΆ”κ°€
58
- uses: actions/github-script@v7
58
+ uses: actions/github-script@v9
59
59
  with:
60
60
  github-token: ${{ secrets.GITHUB_TOKEN }}
61
61
  script: |
@@ -72,7 +72,7 @@ jobs:
72
72
 
73
73
  - name: λΉŒλ“œ νƒ€μž… νŒλ³„
74
74
  id: build_type
75
- uses: actions/github-script@v7
75
+ uses: actions/github-script@v9
76
76
  with:
77
77
  github-token: ${{ secrets.GITHUB_TOKEN }}
78
78
  script: |
@@ -129,7 +129,7 @@ jobs:
129
129
 
130
130
  - name: PR/이슈 정보 확인 및 μΆ”μΆœ
131
131
  id: source_info
132
- uses: actions/github-script@v7
132
+ uses: actions/github-script@v9
133
133
  env:
134
134
  CUSTOM_BRANCH: ${{ steps.build_type.outputs.customBranch }}
135
135
  with:
@@ -249,7 +249,7 @@ jobs:
249
249
 
250
250
  - name: 브랜치 정보λ₯Ό 찾을 수 μ—†λŠ” 경우 μ—λŸ¬ λŒ“κΈ€ μž‘μ„±
251
251
  if: steps.source_info.outputs.found != 'true'
252
- uses: actions/github-script@v7
252
+ uses: actions/github-script@v9
253
253
  with:
254
254
  github-token: ${{ secrets.GITHUB_TOKEN }}
255
255
  script: |
@@ -278,7 +278,7 @@ jobs:
278
278
  - name: 브랜치 쑴재 μ—¬λΆ€ 확인
279
279
  id: check_branch
280
280
  if: steps.source_info.outputs.found == 'true'
281
- uses: actions/github-script@v7
281
+ uses: actions/github-script@v9
282
282
  with:
283
283
  github-token: ${{ secrets.GITHUB_TOKEN }}
284
284
  script: |
@@ -310,7 +310,7 @@ jobs:
310
310
 
311
311
  - name: λΈŒλžœμΉ˜κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우 μ—λŸ¬ λŒ“κΈ€ μž‘μ„±
312
312
  if: steps.source_info.outputs.found == 'true' && steps.check_branch.outputs.exists == 'false'
313
- uses: actions/github-script@v7
313
+ uses: actions/github-script@v9
314
314
  with:
315
315
  github-token: ${{ secrets.GITHUB_TOKEN }}
316
316
  script: |
@@ -347,7 +347,7 @@ jobs:
347
347
  - name: λΉŒλ“œ 횟수 쑰회 및 λΉŒλ“œ 번호 생성
348
348
  id: build_number_calc
349
349
  if: steps.source_info.outputs.found == 'true' && steps.check_branch.outputs.exists == 'true'
350
- uses: actions/github-script@v7
350
+ uses: actions/github-script@v9
351
351
  with:
352
352
  github-token: ${{ secrets.GITHUB_TOKEN }}
353
353
  script: |
@@ -420,7 +420,7 @@ jobs:
420
420
  steps.source_info.outputs.found == 'true' &&
421
421
  steps.check_branch.outputs.exists == 'true' &&
422
422
  steps.build_type.outputs.buildAndroid == 'true'
423
- uses: actions/github-script@v7
423
+ uses: actions/github-script@v9
424
424
  with:
425
425
  github-token: ${{ secrets.GITHUB_TOKEN }}
426
426
  script: |
@@ -458,7 +458,7 @@ jobs:
458
458
  steps.source_info.outputs.found == 'true' &&
459
459
  steps.check_branch.outputs.exists == 'true' &&
460
460
  steps.build_type.outputs.buildIos == 'true'
461
- uses: actions/github-script@v7
461
+ uses: actions/github-script@v9
462
462
  with:
463
463
  github-token: ${{ secrets.GITHUB_TOKEN }}
464
464
  script: |
@@ -51,7 +51,7 @@ jobs:
51
51
  steps:
52
52
  # 1. μ†ŒμŠ€μ½”λ“œ 체크아웃
53
53
  - name: μ½”λ“œ 체크아웃
54
- uses: actions/checkout@v5
54
+ uses: actions/checkout@v7
55
55
 
56
56
  # 2. ν™˜κ²½λ³€μˆ˜ 파일 생성
57
57
  - name: ν™˜κ²½λ³€μˆ˜ 파일 생성 (${{ env.ENV_FILE }})
@@ -61,14 +61,14 @@ jobs:
61
61
 
62
62
  # 3. Node.js μ„€μ •
63
63
  - name: Node.js μ„€μ •
64
- uses: actions/setup-node@v4
64
+ uses: actions/setup-node@v7
65
65
  with:
66
66
  node-version: ${{ env.NODE_VERSION }}
67
67
  cache: "npm"
68
68
 
69
69
  # 4. npm μ˜μ‘΄μ„± 캐싱
70
70
  - name: npm μ˜μ‘΄μ„± 캐싱
71
- uses: actions/cache@v4
71
+ uses: actions/cache@v6
72
72
  with:
73
73
  path: ~/.npm
74
74
  key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
@@ -78,7 +78,7 @@ jobs:
78
78
  # 5. node_modules 캐싱
79
79
  - name: node_modules 캐싱
80
80
  id: node-modules-cache
81
- uses: actions/cache@v4
81
+ uses: actions/cache@v6
82
82
  with:
83
83
  path: "**/node_modules"
84
84
  key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
@@ -96,7 +96,7 @@ jobs:
96
96
  # 7. Next.js λΉŒλ“œ 캐싱 (.next/cache)
97
97
  # 증뢄 λΉŒλ“œλ₯Ό μœ„ν•΄ .next/cache 폴더λ₯Ό μΊμ‹±ν•©λ‹ˆλ‹€
98
98
  - name: Next.js λΉŒλ“œ 캐싱
99
- uses: actions/cache@v4
99
+ uses: actions/cache@v6
100
100
  with:
101
101
  path: .next/cache
102
102
  key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
@@ -156,7 +156,7 @@ jobs:
156
156
  # 10. λΉŒλ“œ 둜그 μ•„ν‹°νŒ©νŠΈ μ—…λ‘œλ“œ
157
157
  - name: λΉŒλ“œ 둜그 μ—…λ‘œλ“œ
158
158
  if: always()
159
- uses: actions/upload-artifact@v4
159
+ uses: actions/upload-artifact@v7
160
160
  with:
161
161
  name: build-log
162
162
  path: build_log.txt
@@ -41,11 +41,11 @@ jobs:
41
41
  steps:
42
42
  # 1. μ†ŒμŠ€μ½”λ“œ 체크아웃
43
43
  - name: μ½”λ“œ 체크아웃
44
- uses: actions/checkout@v5
44
+ uses: actions/checkout@v7
45
45
 
46
46
  # 2. Node.js 개발 ν™˜κ²½ μ„€μ •
47
47
  - name: Node.js μ„€μ •
48
- uses: actions/setup-node@v4
48
+ uses: actions/setup-node@v7
49
49
  with:
50
50
  node-version: ${{ env.NODE_VERSION }}
51
51
  cache: 'npm'
@@ -60,7 +60,7 @@ jobs:
60
60
 
61
61
  # 4. npm μ˜μ‘΄μ„± 캐싱
62
62
  - name: npm μ˜μ‘΄μ„± 캐싱
63
- uses: actions/cache@v4
63
+ uses: actions/cache@v6
64
64
  with:
65
65
  path: ~/.npm
66
66
  key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
@@ -70,7 +70,7 @@ jobs:
70
70
  # 5. node_modules 캐싱
71
71
  - name: node_modules 캐싱
72
72
  id: node-modules-cache
73
- uses: actions/cache@v4
73
+ uses: actions/cache@v6
74
74
  with:
75
75
  path: "**/node_modules"
76
76
  key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
@@ -84,7 +84,7 @@ jobs:
84
84
 
85
85
  # 7. Next.js λΉŒλ“œ 캐싱 (.next/cache)
86
86
  - name: Next.js λΉŒλ“œ 캐싱
87
- uses: actions/cache@v4
87
+ uses: actions/cache@v6
88
88
  with:
89
89
  path: .next/cache
90
90
  key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
@@ -109,7 +109,7 @@ jobs:
109
109
 
110
110
  # 11. Docker λ ˆμ΄μ–΄ 캐싱
111
111
  - name: Cache Docker layers
112
- uses: actions/cache@v4
112
+ uses: actions/cache@v6
113
113
  with:
114
114
  path: /tmp/.buildx-cache
115
115
  key: ${{ runner.os }}-buildx-${{ hashFiles('Dockerfile') }}-${{ hashFiles('package-lock.json') }}
@@ -44,7 +44,7 @@ jobs:
44
44
  steps:
45
45
  # 1. μ†ŒμŠ€μ½”λ“œ 체크아웃
46
46
  - name: μ½”λ“œ 체크아웃
47
- uses: actions/checkout@v5
47
+ uses: actions/checkout@v7
48
48
 
49
49
  # 2. .env 파일 생성 (λΉŒλ“œ κ²€μ¦μš©)
50
50
  - name: .env 파일 생성
@@ -115,7 +115,7 @@ jobs:
115
115
  steps:
116
116
  - name: λŒ“κΈ€μ— πŸ‘€ λ¦¬μ•‘μ…˜ μΆ”κ°€
117
117
  if: contains(github.event.comment.body, '@suh-lab') && contains(github.event.comment.body, 'server')
118
- uses: actions/github-script@v7
118
+ uses: actions/github-script@v9
119
119
  with:
120
120
  github-token: ${{ secrets.GITHUB_TOKEN }}
121
121
  script: |
@@ -196,7 +196,7 @@ jobs:
196
196
  steps:
197
197
  - name: PR 정보 κ°€μ Έμ˜€κΈ°
198
198
  id: pr
199
- uses: actions/github-script@v7
199
+ uses: actions/github-script@v9
200
200
  with:
201
201
  script: |
202
202
  const pr = await github.rest.pulls.get({
@@ -213,7 +213,7 @@ jobs:
213
213
  # ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
214
214
  - name: μ§„ν–‰ 상황 λŒ“κΈ€ 생성
215
215
  id: progress
216
- uses: actions/github-script@v7
216
+ uses: actions/github-script@v9
217
217
  with:
218
218
  script: |
219
219
  const prNumber = context.issue.number;
@@ -246,7 +246,7 @@ jobs:
246
246
  core.setOutput('docker_start', startTime);
247
247
 
248
248
  - name: μ½”λ“œ 체크아웃
249
- uses: actions/checkout@v5
249
+ uses: actions/checkout@v7
250
250
  with:
251
251
  ref: ${{ steps.pr.outputs.ref }}
252
252
 
@@ -283,7 +283,7 @@ jobs:
283
283
 
284
284
  - name: μ§„ν–‰ 상황 - Docker μ™„λ£Œ
285
285
  id: docker_progress
286
- uses: actions/github-script@v7
286
+ uses: actions/github-script@v9
287
287
  with:
288
288
  script: |
289
289
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -469,7 +469,7 @@ jobs:
469
469
  echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
470
470
 
471
471
  - name: 배포 μ™„λ£Œ μ½”λ©˜νŠΈ
472
- uses: actions/github-script@v7
472
+ uses: actions/github-script@v9
473
473
  with:
474
474
  script: |
475
475
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -545,7 +545,7 @@ jobs:
545
545
 
546
546
  - name: λΉŒλ“œ/배포 μ‹€νŒ¨ μ‹œ μ—λŸ¬ μ½”λ©˜νŠΈ
547
547
  if: failure()
548
- uses: actions/github-script@v7
548
+ uses: actions/github-script@v9
549
549
  with:
550
550
  script: |
551
551
  const commentId = ${{ steps.progress.outputs.comment_id || 0 }};
@@ -634,7 +634,7 @@ jobs:
634
634
  steps:
635
635
  - name: Issue λŒ“κΈ€μ—μ„œ 브랜치λͺ… μΆ”μΆœ
636
636
  id: extract
637
- uses: actions/github-script@v7
637
+ uses: actions/github-script@v9
638
638
  with:
639
639
  script: |
640
640
  const issueNumber = context.issue.number;
@@ -676,7 +676,7 @@ jobs:
676
676
 
677
677
  - name: 브랜치 μ—†μŒ μ•Œλ¦Ό
678
678
  if: steps.extract.outputs.found == 'false'
679
- uses: actions/github-script@v7
679
+ uses: actions/github-script@v9
680
680
  with:
681
681
  script: |
682
682
  const issueNumber = context.issue.number;
@@ -722,7 +722,7 @@ jobs:
722
722
  steps:
723
723
  - name: 브랜치 쑴재 확인
724
724
  id: check_branch
725
- uses: actions/github-script@v7
725
+ uses: actions/github-script@v9
726
726
  with:
727
727
  script: |
728
728
  const branchName = '${{ needs.get-branch-from-issue.outputs.branch_name }}';
@@ -793,7 +793,7 @@ jobs:
793
793
  - name: μ§„ν–‰ 상황 λŒ“κΈ€ 생성
794
794
  if: steps.check_branch.outputs.exists == 'true'
795
795
  id: progress
796
- uses: actions/github-script@v7
796
+ uses: actions/github-script@v9
797
797
  with:
798
798
  script: |
799
799
  const issueNumber = ${{ needs.get-branch-from-issue.outputs.issue_number }};
@@ -830,7 +830,7 @@ jobs:
830
830
 
831
831
  - name: μ½”λ“œ 체크아웃
832
832
  if: steps.check_branch.outputs.exists == 'true'
833
- uses: actions/checkout@v5
833
+ uses: actions/checkout@v7
834
834
  with:
835
835
  ref: ${{ needs.get-branch-from-issue.outputs.branch_name }}
836
836
 
@@ -872,7 +872,7 @@ jobs:
872
872
  - name: μ§„ν–‰ 상황 - Docker μ™„λ£Œ
873
873
  if: steps.check_branch.outputs.exists == 'true'
874
874
  id: docker_progress
875
- uses: actions/github-script@v7
875
+ uses: actions/github-script@v9
876
876
  with:
877
877
  script: |
878
878
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -1063,7 +1063,7 @@ jobs:
1063
1063
 
1064
1064
  - name: 배포 μ™„λ£Œ μ½”λ©˜νŠΈ
1065
1065
  if: steps.check_branch.outputs.exists == 'true'
1066
- uses: actions/github-script@v7
1066
+ uses: actions/github-script@v9
1067
1067
  with:
1068
1068
  script: |
1069
1069
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -1141,7 +1141,7 @@ jobs:
1141
1141
 
1142
1142
  - name: λΉŒλ“œ/배포 μ‹€νŒ¨ μ‹œ μ—λŸ¬ μ½”λ©˜νŠΈ
1143
1143
  if: failure() && steps.check_branch.outputs.exists == 'true'
1144
- uses: actions/github-script@v7
1144
+ uses: actions/github-script@v9
1145
1145
  with:
1146
1146
  script: |
1147
1147
  const commentId = ${{ steps.progress.outputs.comment_id || 0 }};
@@ -1287,7 +1287,7 @@ jobs:
1287
1287
  github.event_name == 'issue_comment' ||
1288
1288
  (github.event_name == 'pull_request' && github.event.action == 'closed') ||
1289
1289
  (github.event_name == 'issues' && github.event.action == 'closed')
1290
- uses: actions/github-script@v7
1290
+ uses: actions/github-script@v9
1291
1291
  with:
1292
1292
  script: |
1293
1293
  const number = ${{ steps.pr_number.outputs.number }};
@@ -1373,7 +1373,7 @@ jobs:
1373
1373
  docker ps --filter "name=${CONTAINER_NAME}" --format "{{.Names}}" | grep -q "${CONTAINER_NAME}"
1374
1374
 
1375
1375
  - name: μƒνƒœ μ½”λ©˜νŠΈ μž‘μ„±
1376
- uses: actions/github-script@v7
1376
+ uses: actions/github-script@v9
1377
1377
  with:
1378
1378
  script: |
1379
1379
  const number = context.issue.number;
@@ -1443,7 +1443,7 @@ jobs:
1443
1443
  steps:
1444
1444
  - name: 브랜치 쑴재 확인 및 정보 μΆ”μΆœ
1445
1445
  id: branch_info
1446
- uses: actions/github-script@v7
1446
+ uses: actions/github-script@v9
1447
1447
  with:
1448
1448
  script: |
1449
1449
  const branchName = '${{ needs.check-command.outputs.custom_branch }}';
@@ -1529,7 +1529,7 @@ jobs:
1529
1529
  - name: μ§„ν–‰ 상황 λŒ“κΈ€ 생성
1530
1530
  if: steps.branch_info.outputs.branch_exists == 'true'
1531
1531
  id: progress
1532
- uses: actions/github-script@v7
1532
+ uses: actions/github-script@v9
1533
1533
  with:
1534
1534
  script: |
1535
1535
  const issueNumber = context.issue.number;
@@ -1566,7 +1566,7 @@ jobs:
1566
1566
 
1567
1567
  - name: μ½”λ“œ 체크아웃
1568
1568
  if: steps.branch_info.outputs.branch_exists == 'true'
1569
- uses: actions/checkout@v5
1569
+ uses: actions/checkout@v7
1570
1570
  with:
1571
1571
  ref: ${{ needs.check-command.outputs.custom_branch }}
1572
1572
 
@@ -1615,7 +1615,7 @@ jobs:
1615
1615
  - name: μ§„ν–‰ 상황 - Docker μ™„λ£Œ
1616
1616
  if: steps.branch_info.outputs.branch_exists == 'true'
1617
1617
  id: docker_progress
1618
- uses: actions/github-script@v7
1618
+ uses: actions/github-script@v9
1619
1619
  with:
1620
1620
  script: |
1621
1621
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -1798,7 +1798,7 @@ jobs:
1798
1798
 
1799
1799
  - name: 배포 μ™„λ£Œ μ½”λ©˜νŠΈ
1800
1800
  if: steps.branch_info.outputs.branch_exists == 'true'
1801
- uses: actions/github-script@v7
1801
+ uses: actions/github-script@v9
1802
1802
  with:
1803
1803
  script: |
1804
1804
  const commentId = ${{ steps.progress.outputs.comment_id }};
@@ -1876,7 +1876,7 @@ jobs:
1876
1876
 
1877
1877
  - name: λΉŒλ“œ/배포 μ‹€νŒ¨ μ‹œ μ—λŸ¬ μ½”λ©˜νŠΈ
1878
1878
  if: failure() && steps.branch_info.outputs.branch_exists == 'true'
1879
- uses: actions/github-script@v7
1879
+ uses: actions/github-script@v9
1880
1880
  with:
1881
1881
  script: |
1882
1882
  const commentId = ${{ steps.progress.outputs.comment_id || 0 }};
@@ -1956,7 +1956,7 @@ jobs:
1956
1956
  steps:
1957
1957
  - name: 브랜치λͺ…μ—μ„œ μ»¨ν…Œμ΄λ„ˆ 정보 μΆ”μΆœ
1958
1958
  id: container_info
1959
- uses: actions/github-script@v7
1959
+ uses: actions/github-script@v9
1960
1960
  with:
1961
1961
  script: |
1962
1962
  const branchName = '${{ needs.check-command.outputs.custom_branch }}';
@@ -2035,7 +2035,7 @@ jobs:
2035
2035
  echo "βœ… μ‚­μ œ μ™„λ£Œ!"
2036
2036
 
2037
2037
  - name: μ‚­μ œ μ™„λ£Œ μ½”λ©˜νŠΈ
2038
- uses: actions/github-script@v7
2038
+ uses: actions/github-script@v9
2039
2039
  with:
2040
2040
  script: |
2041
2041
  const branchName = '${{ needs.check-command.outputs.custom_branch }}';
@@ -2077,7 +2077,7 @@ jobs:
2077
2077
  steps:
2078
2078
  - name: 브랜치λͺ…μ—μ„œ μ»¨ν…Œμ΄λ„ˆ 정보 μΆ”μΆœ
2079
2079
  id: container_info
2080
- uses: actions/github-script@v7
2080
+ uses: actions/github-script@v9
2081
2081
  with:
2082
2082
  script: |
2083
2083
  const branchName = '${{ needs.check-command.outputs.custom_branch }}';
@@ -2134,7 +2134,7 @@ jobs:
2134
2134
  fi
2135
2135
 
2136
2136
  - name: μƒνƒœ μ½”λ©˜νŠΈ μž‘μ„±
2137
- uses: actions/github-script@v7
2137
+ uses: actions/github-script@v9
2138
2138
  with:
2139
2139
  script: |
2140
2140
  const branchName = '${{ needs.check-command.outputs.custom_branch }}';
@@ -112,7 +112,7 @@ jobs:
112
112
  steps:
113
113
  # 1. μ†ŒμŠ€μ½”λ“œ 체크아웃
114
114
  - name: μ½”λ“œ 체크아웃
115
- uses: actions/checkout@v5
115
+ uses: actions/checkout@v7
116
116
 
117
117
  # 2. λ””μŠ€ν¬ 곡간 확보
118
118
  - name: λ””μŠ€ν¬ 곡간 확보
@@ -50,7 +50,7 @@ jobs:
50
50
  steps:
51
51
  # 1. μ†ŒμŠ€μ½”λ“œ 체크아웃
52
52
  - name: μ½”λ“œ 체크아웃
53
- uses: actions/checkout@v5
53
+ uses: actions/checkout@v7
54
54
 
55
55
  # 2. ν™˜κ²½λ³€μˆ˜ 파일 생성
56
56
  - name: ν™˜κ²½λ³€μˆ˜ 파일 생성 (${{ env.ENV_FILE }})
@@ -60,14 +60,14 @@ jobs:
60
60
 
61
61
  # 3. Node.js μ„€μ •
62
62
  - name: Node.js μ„€μ •
63
- uses: actions/setup-node@v4
63
+ uses: actions/setup-node@v7
64
64
  with:
65
65
  node-version: ${{ env.NODE_VERSION }}
66
66
  cache: "npm"
67
67
 
68
68
  # 4. npm μ˜μ‘΄μ„± 캐싱
69
69
  - name: npm μ˜μ‘΄μ„± 캐싱
70
- uses: actions/cache@v4
70
+ uses: actions/cache@v6
71
71
  with:
72
72
  path: ~/.npm
73
73
  key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
@@ -78,7 +78,7 @@ jobs:
78
78
  # package-lock.json이 λ³€κ²½λ˜μ§€ μ•ŠμœΌλ©΄ npm ci κ±΄λ„ˆλ›°κΈ°
79
79
  - name: node_modules 캐싱
80
80
  id: node-modules-cache
81
- uses: actions/cache@v4
81
+ uses: actions/cache@v6
82
82
  with:
83
83
  path: "**/node_modules"
84
84
  key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package-lock.json') }}
@@ -97,7 +97,7 @@ jobs:
97
97
  # 7. Next.js λΉŒλ“œ 캐싱 (Next.js ν”„λ‘œμ νŠΈμΈ 경우)
98
98
  # .next/cache 폴더λ₯Ό μΊμ‹±ν•˜μ—¬ 증뢄 λΉŒλ“œ 속도 ν–₯상
99
99
  - name: Next.js λΉŒλ“œ 캐싱
100
- uses: actions/cache@v4
100
+ uses: actions/cache@v6
101
101
  with:
102
102
  path: .next/cache
103
103
  key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
@@ -156,7 +156,7 @@ jobs:
156
156
  # λΉŒλ“œ 성곡/μ‹€νŒ¨ 여뢀와 관계없이 둜그 μ €μž₯
157
157
  - name: λΉŒλ“œ 둜그 μ—…λ‘œλ“œ
158
158
  if: always()
159
- uses: actions/upload-artifact@v4
159
+ uses: actions/upload-artifact@v7
160
160
  with:
161
161
  name: build-log
162
162
  path: build_log.txt