Commit Graph

71 Commits

Author SHA1 Message Date
t8y2 01c4b744ef fix(updater): show real app version and release notes 2026-05-12 15:15:46 +08:00
t8y2 70db0aa62c refactor(ci): switch 1Panel appstore to community repo and manual trigger 2026-05-11 11:41:51 +08:00
t8y2 22453f9097 fix(ci): correct 1Panel appstore PR base branch and add release-note block 2026-05-11 10:24:05 +08:00
t8y2 6addbea72d test: 接入前端测试脚本 2026-05-10 22:32:01 +08:00
t8y2 417b74cc51 refactor(ci): trigger Homebrew/Scoop publish on release event
Move packages job from release.yml to publish-packages.yml, triggered
by release published/released events. Keeps workflow_dispatch as a
manual fallback. Now all external publishing (Homebrew, Scoop, 1Panel,
QQ notify) triggers at the same time: when a prerelease is promoted
to a full release.
2026-05-10 22:23:25 +08:00
t8y2 302835bebb refactor(ci): trigger 1Panel submission on release publish
Move 1Panel App Store submission from release.yml to a standalone
workflow triggered by release published/released events, matching
the same pattern as QQ notify.
2026-05-10 22:19:09 +08:00
t8y2 fdb9a5c4d3 feat(ci): add 1Panel App Store auto-submission
Add 1Panel app store configuration files (metadata, docker-compose
template, logo) and a release workflow job that automatically creates
a PR to 1Panel-dev/appstore on each release.
2026-05-10 22:16:07 +08:00
t8y2 10bfede1c7 feat(jdbc): add optional JDBC plugin support 2026-05-10 12:57:38 +08:00
t8y2 1c53e68269 ci(release): stabilize rust cache keys 2026-05-09 23:57:54 +08:00
t8y2 0d8f6c80bb fix(ci): strip markdown syntax from release QQ notification 2026-05-09 19:03:22 +08:00
t8y2 b1de40b1e5 chore(ci): remove auto-review workflow 2026-05-09 18:33:50 +08:00
t8y2 67bc43e997 build(release): 增加 Windows 绿色版压缩包 2026-05-09 17:42:27 +08:00
t8y2 0462e6c362 chore(ci): upgrade auto-review model to deepseek-v4-pro 2026-05-09 15:18:55 +08:00
t8y2 c9b171b863 fix(ci): handle prerelease-to-release transition notification 2026-05-09 13:10:23 +08:00
t8y2 519f18bfd9 feat(ci): add release notification and improve message formatting 2026-05-09 12:37:27 +08:00
t8y2 ae890092dd fix(ci): use pull_request_target for fork PR secret access 2026-05-08 16:07:48 +08:00
t8y2 1777e17353 fix(ci): use Python for robust JSON handling in auto-review 2026-05-08 16:00:31 +08:00
t8y2 6dc6e15ff3 ci: add auto PR review with DeepSeek 2026-05-08 15:40:49 +08:00
t8y2 53702984b1 ci: add QQ group notification for issues and PRs 2026-05-08 13:50:02 +08:00
t8y2 30b6c472ea ci: add manual Docker dev build workflow
Allows building and pushing a `dev`-tagged Docker image via
workflow_dispatch without affecting the official `latest` tag.
2026-05-08 12:20:31 +08:00
t8y2 9a7c12c65a fix: restore macOS frameworks to tauri.conf.json for proper bundling
TAURI_CONFIG env var merge did not apply frameworks to the bundler,
resulting in libodbc/libltdl missing from Contents/Frameworks/.

Restore frameworks in tauri.conf.json and skip them in dev mode via
build.rs when the dylibs are not present locally.
2026-05-07 22:14:01 +08:00
t8y2 aefb6bf0ef fix: prevent SELECT with REPLACE/TRUNCATE functions from triggering danger warning
The DANGER_RE regex matched keywords anywhere in the SQL text, causing
SELECT queries using REPLACE() or TRUNCATE() functions to incorrectly
trigger the destructive-SQL warning dialog. Check only the first keyword
of each semicolon-separated statement instead.

Also fix dialog content overflow by adding min-w-0 to the <pre> element,
and move macOS frameworks config from tauri.conf.json to CI-only
TAURI_CONFIG so local `tauri dev` no longer requires libltdl/libodbc
to be globally installed.

Closes #135
2026-05-07 19:07:41 +08:00
t8y2 484dc85114 fix: also bundle libltdl.7.dylib for macOS app
libodbc.2.dylib depends on libltdl.7.dylib (libtool). Rewrite its
install_name and the reference in libodbc to @rpath so both resolve
from Contents/Frameworks/ at runtime.
2026-05-07 18:46:09 +08:00
t8y2 fbcceb5781 fix: rewrite libodbc install_name so macOS app loads bundled library
The binary was linking against /opt/homebrew/opt/unixodbc/lib/libodbc.2.dylib
(absolute path). At runtime dyld refused to load it due to Team ID mismatch.
Use install_name_tool to set @rpath/libodbc.2.dylib before building, so the
linker records a relative path that resolves via Contents/Frameworks/.
2026-05-07 18:30:20 +08:00
t8y2 4973912666 fix: bundle libodbc into macOS app and improve update UX
- Bundle libodbc.2.dylib into .app/Contents/Frameworks/ via Tauri's
  macOS frameworks config to fix "app can't be opened" on macOS
- Replace relaunch() with exit(0) to avoid Tauri restart bug (#11392)
- Lock update dialog during download and after install
- Render release notes as markdown
2026-05-07 17:36:44 +08:00
t8y2 606019b86c ci: use macos-15-intel runner for x86_64 macOS builds
Replace cross-compilation approach with native Intel runner.
macos-15-intel is GitHub's official replacement for the retired
macos-13 runner, available for free on public repos until Aug 2027.
2026-05-07 14:28:40 +08:00
t8y2 63b7458347 ci: install x86_64 unixodbc for cross-compilation on ARM macOS
The ARM runner's Homebrew installs arm64 libraries, which can't link
when cross-compiling for x86_64. Use arch -x86_64 to install the
Intel version of unixodbc and set LIBRARY_PATH accordingly.
2026-05-07 14:14:43 +08:00
t8y2 89e9dde666 ci: replace deprecated macos-13 runner with macos-latest
macos-13 (Intel) runners have been retired by GitHub, causing the
x86_64-apple-darwin build job to queue indefinitely. Use macos-latest
(ARM) and cross-compile via --target instead.
2026-05-07 14:08:15 +08:00
t8y2 a0ceefd1ef fix(ci): use macos-13 for x86_64 build to resolve ODBC linking 2026-05-07 13:07:46 +08:00
t8y2 4bf4f3b77f feat: add DM (Dameng) database support via ODBC
Connect to DM8 databases using the odbc-api crate with unixODBC.
Includes schema browsing, query execution, DDL generation,
and full frontend integration with download link to DM ODBC driver.
2026-05-07 01:02:56 +08:00
t8y2 6a5a380fdd docs: migrate from VitePress to Fumadocs (Next.js)
- Replace VitePress with Fumadocs + Next.js for documentation site
- Configure i18n (English + 简体中文) with language switcher
- Migrate all 17 guide documents to MDX format with updated content
- Add ocean theme, GitHub/Discord/QQ social links
- Update GitHub Actions workflow for Next.js static export
- Update .gitignore for .next, out, .source directories
2026-05-06 10:17:17 +08:00
t8y2 dc9d4e2b9c perf(docker): parallelize multi-arch build and improve layer caching
Split the single docker job into a matrix (amd64/arm64) that builds in
parallel, then merge via docker-manifest job. Also restructure the
Dockerfile to pre-compile dependencies with dummy sources so the dep
layer is cached by GHA when only application code changes.
2026-05-06 00:14:05 +08:00
t8y2 8cc4dfb268 fix: update workspace paths and optimize Rust caching in CI workflows 2026-05-05 21:45:17 +08:00
t8y2 05c50e942f ci(docker): add multi-platform build for linux/amd64 and linux/arm64 2026-05-05 18:39:43 +08:00
t8y2 91252acd59 ci: optimize release workflow pipeline
- Run docker build in parallel with platform builds instead of sequentially
- Publish release as pre-release instead of full release for manual verification
- Integrate brew/scoop package publishing into release workflow
- Keep publish-packages.yml with workflow_dispatch only for manual re-runs
2026-05-05 18:22:12 +08:00
t8y2 3acd9280ac chore: add oxfmt + husky + lint-staged for code formatting and CI format checks 2026-05-05 15:41:34 +08:00
t8y2 2de0894a99 feat(update): refactor release fetching to use structured JSON response 2026-05-05 14:40:05 +08:00
t8y2 371a763b9e feat: add Docker workflow for building and pushing images 2026-05-05 05:09:01 +08:00
t8y2 830f18bef4 feat: add publish step to release workflow for draft releases 2026-05-04 23:22:18 +08:00
t8y2 1eea70af87 fix: double-base64 encode signing key to avoid multiline env var issues 2026-05-04 22:56:37 +08:00
t8y2 c278f8da27 fix: write signing key to file and pass path via GITHUB_ENV 2026-05-04 22:45:29 +08:00
t8y2 18471be243 fix: pass raw key body without comment line to TAURI_SIGNING_PRIVATE_KEY 2026-05-04 22:33:57 +08:00
t8y2 b6bec033e6 fix: use YAML block scalar for signing key to preserve newlines 2026-05-04 22:23:02 +08:00
t8y2 4e93f18779 debug: add signing key diagnostics to release workflow 2026-05-04 22:08:25 +08:00
t8y2 e5e008fef2 fix: reconstruct signing key from single-line secret to avoid multiline corruption 2026-05-04 21:58:42 +08:00
t8y2 7060f89155 fix: use heredoc to write multi-line signing key to GITHUB_ENV 2026-05-04 21:45:54 +08:00
t8y2 f761e5530f fix: read signing key from file into GITHUB_ENV to preserve newlines 2026-05-04 21:37:27 +08:00
t8y2 90eb09db8a fix: write signing key to file in CI to work around Tauri env var bug 2026-05-04 21:23:43 +08:00
t8y2 7118feea4b fix: use sha256sum instead of shasum for Windows compatibility 2026-05-04 19:07:25 +08:00
t8y2 0f73e2d9ca fix: use portable grep instead of sed for cache hash computation 2026-05-04 19:04:45 +08:00