From ae4e29ad6fa3609263ec4a328be4ba8cbab960d0 Mon Sep 17 00:00:00 2001 From: haotool Date: Fri, 26 Jun 2026 08:42:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(ratewise):=20MoneyBox=20history=20=E6=AA=94?= =?UTF-8?q?=E5=90=8D=E6=94=B9=E7=94=A8=E9=A6=96=E7=88=BE=E6=99=82=E5=8D=80?= =?UTF-8?q?=20SSOT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - update-moneybox-rates.yml 以 Asia/Seoul 產生 CURRENT_DATE,對齊 fetch-moneybox-rates.js - 補 build-scripts 守門測試,避免 history 日期與 30 日 aggregate 錯標 - 新增 patch changeset 與 002 紀錄 測試:pnpm --filter @app/ratewise test -- build-scripts.test.ts -t "MoneyBox daily history" Co-authored-by: Cursor --- .changeset/fix-moneybox-history-seoul-date.md | 5 +++++ .github/workflows/update-moneybox-rates.yml | 2 +- apps/ratewise/src/config/__tests__/build-scripts.test.ts | 3 +++ docs/dev/002_development_reward_penalty_log.md | 7 ++++++- 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 .changeset/fix-moneybox-history-seoul-date.md diff --git a/.changeset/fix-moneybox-history-seoul-date.md b/.changeset/fix-moneybox-history-seoul-date.md new file mode 100644 index 000000000..edabc2dba --- /dev/null +++ b/.changeset/fix-moneybox-history-seoul-date.md @@ -0,0 +1,5 @@ +--- +'@app/ratewise': patch +--- + +MoneyBox 歷史匯率快照檔名改以首爾時區日曆日命名,避免 UTC+9 換日窗口趨勢日期錯標 diff --git a/.github/workflows/update-moneybox-rates.yml b/.github/workflows/update-moneybox-rates.yml index 20e61b8b5..6d654f2d3 100644 --- a/.github/workflows/update-moneybox-rates.yml +++ b/.github/workflows/update-moneybox-rates.yml @@ -94,7 +94,7 @@ jobs: id: save-history if: steps.fetch-rates.outcome == 'success' run: | - CURRENT_DATE=$(TZ=Asia/Taipei date +%Y-%m-%d) + CURRENT_DATE=$(TZ=Asia/Seoul date +%Y-%m-%d) MONEYBOX_HISTORY_FILE="${MONEYBOX_HISTORY_DIR}/${CURRENT_DATE}.json" mkdir -p "$MONEYBOX_HISTORY_DIR" if [[ ! -f "$MONEYBOX_FETCH_OUTPUT_FILE" ]]; then diff --git a/apps/ratewise/src/config/__tests__/build-scripts.test.ts b/apps/ratewise/src/config/__tests__/build-scripts.test.ts index 30659eef5..06eda5cfc 100644 --- a/apps/ratewise/src/config/__tests__/build-scripts.test.ts +++ b/apps/ratewise/src/config/__tests__/build-scripts.test.ts @@ -658,6 +658,9 @@ describe('ratewise build scripts', () => { expect(workflowSource).toContain( 'MONEYBOX_HISTORY_FILE="${MONEYBOX_HISTORY_DIR}/${CURRENT_DATE}.json"', ); + // SSOT:MoneyBox 為首爾換匯所,history 檔名須對齊 Asia/Seoul 日曆日(非 Asia/Taipei) + expect(workflowSource).toContain('CURRENT_DATE=$(TZ=Asia/Seoul date +%Y-%m-%d)'); + expect(workflowSource).not.toContain('CURRENT_DATE=$(TZ=Asia/Taipei date +%Y-%m-%d)'); expect(workflowSource).toContain('cp "$MONEYBOX_FETCH_OUTPUT_FILE" "$MONEYBOX_HISTORY_FILE"'); expect(workflowSource).not.toContain( 'cp "$MONEYBOX_FETCH_OUTPUT_FILE" "$MONEYBOX_LATEST_FILE"', diff --git a/docs/dev/002_development_reward_penalty_log.md b/docs/dev/002_development_reward_penalty_log.md index 2b6144989..0201ac467 100644 --- a/docs/dev/002_development_reward_penalty_log.md +++ b/docs/dev/002_development_reward_penalty_log.md @@ -2,7 +2,7 @@ > 版本:outline-v2-ultra > 原則:每筆只保留日期、ID、原因、解法。 -> 本次分數變化:+1(reward 1、penalty 0)|累計總分:前次總分 +59 +> 本次分數變化:+1(reward 1、penalty 0)|累計總分:前次總分 +60 ## 新增模板(4 行) @@ -13,6 +13,11 @@ ## 條目(新→舊) +- 日期:2026-06-26 +- ID:fix-moneybox-history-seoul-date-ssot +- 原因:MoneyBox workflow 以 Asia/Taipei 產生 history 檔名,首爾午夜換日但台北仍前一日時會錯標 30 日 aggregate 日期 +- 解法:update-moneybox-rates.yml 改以 Asia/Seoul 對齊 fetch-moneybox-rates.js SSOT,並補 build-scripts 守門測試 + - 日期:2026-06-26 - ID:reward-ci-e2e-full-shard-timeout-45 - 原因:main push E2E Full 2-way shard 仍設 20 分鐘逾時,完整 desktop+mobile 套件在冷快取下被取消,merge-reports 連帶失敗