Commit graph

111 commits

Author SHA1 Message Date
Your Name
b3b382d1e0 fix: 修復 CI/CD E2E 測試工作流程 2026-01-23 14:05:38 +08:00
Your Name
bcaddc225c chore: release v0.1.13 - 翻譯測試使用免費服務並修復測試 2026-01-23 12:43:16 +08:00
Your Name
bed996e70b fix: 修正工作流程中的翻譯測試條件和環境變數預設值 2026-01-23 12:30:57 +08:00
Your Name
a2512bf29b fix: 修復 lint 錯誤和代碼格式化
- 移除未使用的導入 (readdirSync, basename, readFileSync, execSync)
- 將不需要重新賦值的 let 改為 const
- 修復 switch case 區塊中的詞法聲明問題
- 移除未使用的 SAMPLING_RATE 和 sampled 變量
- 移除未使用的 _timeout 參數
- 運行 Prettier 格式化所有文件
2026-01-23 12:27:22 +08:00
Your Name
e327345ad7 feat: add comprehensive E2E tests with Docker workflow
- Add comprehensive.e2e.test.ts: Full E2E tests covering 25+ converters
- Add format-matrix.e2e.test.ts: Format conversion matrix (70,000+ combinations)
- Add translation.e2e.test.ts: Multi-language translation tests (14 languages)
- Add docker-e2e-tests.yml: GitHub Actions workflow for Docker E2E tests
- Update run-bun-test.yml: Improved basic test workflow
- Add run-e2e-tests.sh: Local test runner script
- Add test scripts to package.json

Tests cover:
- Image formats (Inkscape, ImageMagick, Potrace, etc.)
- Document formats (Pandoc, LibreOffice, Calibre)
- Data formats (Dasel: JSON/YAML/TOML/XML/CSV)
- Translation (PDFMathTranslate, BabelDOC)
- Edge cases (Unicode, long content, special characters)
2026-01-23 12:20:52 +08:00
Your Name
0bc22411b6 ci: 優化 workflow timeout 和新增手動觸發 2026-01-23 11:29:26 +08:00
Your Name
63f0b57466 chore(release): bump version to 0.1.12 2026-01-23 01:00:18 +08:00
Your Name
443cdaa01c refactor(ci): 將 E2E 測試移至服務更新後執行
- docker-build-remote.yml: E2E 測試現在在 Step 20
- 測試在實際部署的 convertx-cn 容器上執行
- 確保服務更新成功後才驗證功能
2026-01-23 00:45:18 +08:00
Your Name
3eec72926f feat(ci): 擴展 CI/CD E2E 測試並新增 Mock 測試
- release.yml: 新增 16 個 Docker 容器 E2E 測試
  - Inkscape (SVG→PNG, SVG→PDF)
  - Pandoc (Markdown→HTML, LaTeX)
  - LibreOffice (TXT→PDF, ODT→DOCX)
  - FFmpeg (音訊、視訊、MP4→GIF)
  - ImageMagick (PNG→JPEG)
  - Calibre (HTML→EPUB)
  - Potrace (PBM→SVG)
  - Tesseract OCR
  - GraphicsMagick, Resvg, VIPS

- docker-build-remote.yml: 新增 21 個遠端 E2E 測試
  - 透過 Tailscale SSH 在遠端 Docker 容器中執行
  - 包含通過/失敗計數和測試摘要

- 新增 Mock 測試 (converters.mock.test.ts)
  - 81 個測試驗證轉換器配置邏輯
  - 不依賴實際工具,可在本地執行
  - 測試 API 結構、格式支援、錯誤處理等
2026-01-23 00:42:12 +08:00
Your Name
a9f6e1de6f ci: add E2E tests to release workflow
- Add E2E converter tests in Docker container (verify-image job)
  - Inkscape: SVG → PNG
  - Pandoc: Markdown → HTML
  - LibreOffice: TXT → PDF
  - FFmpeg: Audio generation
  - ImageMagick: PNG → JPEG
  - API healthcheck endpoint

- Add cleanup step for verification containers
- Update verification summary to include E2E results
- Install pandoc and imagemagick in run-bun-test workflow for E2E tests
2026-01-23 00:18:03 +08:00
Your Name
b5992a84e0 fix(inkscape): use xvfb-run for headless execution
- Inkscape requires X11 display connection, causing 'GtkStyleContext without display' error
- Solution: use xvfb-run to create virtual X11 display
- Fallback: try direct inkscape if xvfb-run fails
- Add xvfb package to Dockerfile
- Update inkscape tests for new xvfb-run behavior

Fixes: Gtk-ERROR: Can't create a GtkStyleContext without a display connection
2026-01-22 23:56:47 +08:00
Your Name
d5c9bfa320 feat(ci): add model/headless verification, use --no-ff merge strategy
- Add verify-image job in release.yml with:
  - Headless environment verification (DISPLAY, Xvfb, LibreOffice, Inkscape, Calibre)
  - Model download verification (HuggingFace cache, ONNX models, offline mode)
  - Basic functionality verification (container startup, tool availability)
- Add Test 3 and Test 4 in upstream-sync.yml for headless/model verification
- Update auto-upstream-sync.yml to use git merge --no-ff for better history tracking
2026-01-22 23:51:18 +08:00
Your Name
8820aecafe fix: 更新 Docker 映像標籤預設值至 0.1.11.test 2026-01-22 20:10:47 +08:00
Your Name
5ad22e44ec fix: 優化 Docker 磁碟清理邏輯,針對大型模型與多架構建置進行強化,減少空間使用 2026-01-22 19:24:53 +08:00
Your Name
df0082bfb9 feat: 在 Docker Build & Push 工作流程中新增版本顯示,並修正錯誤處理 2026-01-22 17:54:08 +08:00
Your Name
7df88d2f4e chore: 更新工作流程中的 Node.js 和 Bun 版本,調整依賴項版本 2026-01-22 10:49:42 +08:00
Your Name
607ccbb4ac fix: 修正工作流程名稱格式,移除多餘的文字 2026-01-22 09:50:32 +08:00
Your Name
8bb5be2c52 fix: 修正工作流程名稱格式,移除多餘的 emoji 2026-01-22 09:49:58 +08:00
Your Name
69610d28e0 feat: 新增遠端服務更新工作流程,透過 Tailscale SSH 更新 Docker 服務 2026-01-22 09:44:06 +08:00
Your Name
912546aaa7 fix: ENOENT download error for archive-only converters (PDFMathTranslate/MinerU)
- Add existsSync checks in download.tsx before file access
- Fix normalizeFiletype.ts: md-t/md-i return original format (not tar.gz)
- Add outputMode: 'archive' support in main.ts with auto .tar suffix
- PDFMathTranslate outputs translated-<lang>.pdf + bilingual-<lang>.pdf (no original)
- MinerU outputs complete folder in .tar with logging
- Hide preview icon for .tar files in results.tsx
- Update Bun version: 1.2.2 -> 1.3.6
- Add Step 19: auto-deploy to remote server after Docker push

All 159 tests pass.
2026-01-22 00:47:37 +08:00
Your Name
1f800c3619 feat: 新增自動生成 Changelog 和 GitHub Release 的步驟 2026-01-21 23:53:44 +08:00
Your Name
cf8aa32ea8 fix: 移除多餘的空行以改善 YAML 格式 2026-01-21 22:41:28 +08:00
Your Name
258313fcbb fix: 正則表達式支援任意數量的版本數字段
- 舊規則:^[0-9]+\.[0-9]+\.[0-9]+$ (僅 X.Y.Z)
- 新規則:^[0-9]+(\.[0-9]+)+$ (支援 X.Y.Z.W...)
- 0.1.10 → latest ✓
- 0.1.10.1 → latest ✓
- 0.1.10.test → 不加 latest
2026-01-21 22:40:33 +08:00
Your Name
2f6c3fc0c6 feat: 根據版本號格式決定是否標記 latest
- 純數字版本(如 0.1.10)→ 同時標記 latest
- 測試版本(如 0.1.10.test)→ 僅標記版本號
- 使用正則表達式 ^[0-9]+\.[0-9]+\.[0-9]+$ 判斷
2026-01-21 22:38:37 +08:00
Your Name
7c4a361e3f fix: 更新 Tailscale SSH 連線步驟,新增手動網頁驗證提示並設定連線超時 2026-01-21 20:53:14 +08:00
Your Name
4d2a690bb9 fix: 更新 Dockerfile 版本至 v0.1.10,修正基礎映像為 debian:bookworm,並新增 APT 重試機制以改善 Multi-Arch Build 的穩定性 2026-01-21 20:43:54 +08:00
Your Name
448011f7e2 fix: 更新 Multi-Arch Docker Build 流程,分離建構與推送步驟 2026-01-21 20:14:59 +08:00
Your Name
a4d5cd1e53 fix: 簡化 Tailscale SSH 流程,改善 Docker Build 錯誤處理 2026-01-21 18:44:52 +08:00
Your Name
ddbc92196f fix: 修正 tailscale ssh 語法,提供 ACL 設定說明 2026-01-21 17:47:45 +08:00
Your Name
45376702f2 fix: 修復 Tailscale SSH 需互動式登入問題,新增 --ssh 參數與 Smoke Test 2026-01-21 17:40:58 +08:00
Your Name
41a7111db2 feat: 更新 Remote Build workflow 支援 Multi-Arch (amd64/arm64) 2026-01-21 17:33:26 +08:00
Your Name
de11dd5a0d fix: use script file approach to avoid heredoc parsing issues [remote-build] 2026-01-21 17:00:30 +08:00
Your Name
44152ff872 fix(ci): 修正 Release workflow 確保 Docker Image 正確發佈
- dockerhub-description.yml:
  - 修正 IMAGE_NAME 為 convertx/convertx-cn
  - 新增 continue-on-error 避免阻擋 Release
  - 新增 workflow_run 觸發器

- release.yml:
  - 新增 workflow_dispatch 手動觸發支援
  - 新增 permissions 設定
  - 優化 disk cleanup 錯誤處理

- docker-publish.yml:
  - 修正 DOCKERHUB_USERNAME 從 secrets 讀取
  - 修正 DOCKER_IMAGE 為正確的 convertx/convertx-cn
2026-01-20 12:52:02 +08:00
Your Name
e792dfedf1 refine fonts and language support 2026-01-19 23:54:04 +08:00
Your Name
7632584eb6 ci: add GitHub Actions workflows for upstream sync and release automation 2026-01-19 20:18:23 +08:00
Emrik Östling
3d84925e1b
Potential fix for code scanning alert no. 2: Workflow does not contain permissions (#476)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:46:01 +01:00
Emrik Östling
ab352987d5
Potential fix for code scanning alert no. 1: Workflow does not contain permissions (#474)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:33:27 +01:00
Emrik Östling
689e66e3f9
Potential fix for code scanning alert no. 3: Workflow does not contain permissions (#475)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:33:13 +01:00
Emrik Östling
af199ab8bb
Potential fix for code scanning alert no. 5: Workflow does not contain permissions (#472)
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-14 20:30:31 +01:00
renovate[bot]
2f965035b6
chore(deps): update github artifact actions (#467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 12:26:28 +01:00
renovate[bot]
a59a9fdeec
chore(deps): update dependency node to v24 (#458)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 21:29:56 +01:00
renovate[bot]
f5bc47b532
chore(deps): update ramonpaolo/bump-version action to v2.4.0 (#457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-03 21:29:32 +01:00
Emrik Östling
bef07a787e
fix: Version wasn't bumped for v0.16.0 (#456) 2025-12-03 21:16:05 +01:00
renovate[bot]
4ae2aab66a
chore(deps): update actions/checkout action to v6 (#446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 21:54:32 +01:00
renovate[bot]
1a4e2dec7c
chore(deps): update github artifact actions (#426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-29 18:13:57 +01:00
C4illin
80142ff269 chore: fix lint 2025-10-07 20:34:55 +00:00
Emrik Östling
a677a5eec1
ci: add exception for collaborators (#418) 2025-10-07 22:26:15 +02:00
C4illin
0ac585c9da chore: correct spacing 2025-10-07 20:11:44 +00:00
Emrik Östling
4f61577421
ci: remove release please (#416) 2025-10-07 21:58:11 +02:00
renovate[bot]
d3fc6a237f
chore(deps): update peter-evans/dockerhub-description action to v5 2025-10-01 20:30:22 +00:00