Commit Graph

118 Commits

Author SHA1 Message Date
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
t8y2 cdd64c9edf ci: use dependency-only hash for Rust cache key to survive version bumps 2026-05-04 18:58:23 +08:00
t8y2 f97c9da11d ci: enable cache-on-failure for Rust build cache 2026-05-04 18:52:54 +08:00
t8y2 af9c206d75 feat: add auto-update support via tauri-plugin-updater 2026-05-04 18:14:40 +08:00
t8y2 e0596f1ac3 ci: add macOS code signing and notarization to release workflow 2026-05-04 17:35:19 +08:00
t8y2 efdea3b13d fix: trim whitespace from workflow_dispatch tag input 2026-05-04 10:17:04 +08:00
t8y2 8e5de23f1c feat: add workflow_dispatch trigger for publish-packages 2026-05-04 10:14:20 +08:00
t8y2 c0def1674a fix: use PRODUCT_NAME for release asset file patterns 2026-05-04 10:12:28 +08:00
t8y2 45f10966a2 fix: correct app name casing in installation instructions and workflows 2026-05-04 02:55:19 +08:00
t8y2 3c15a0bf16 ci: add GitHub Pages deployment for docs 2026-05-03 16:55:43 +08:00
t8y2 37e1f78d3d fix: use per-target Rust cache keys and align CI runner for cache reuse 2026-05-02 22:50:34 +08:00
t8y2 fc12e1e7c7 fix: add libgtk-3-dev and fix ubuntu platform check in release workflow 2026-05-02 22:35:29 +08:00
t8y2 f1851b7b2e fix: update Ubuntu platform version in release workflow 2026-05-02 22:28:30 +08:00
t8y2 dcbced25c8 perf: share rust cache between CI and release builds 2026-05-01 15:09:19 +08:00
t8y2 78ea289f0f fix: correct scoop uninstaller filename in CI workflow 2026-05-01 11:11:16 +08:00
skyler a523b97e28
fix(ci): wait for Release workflow before publishing packages (#31)
* chore: bump version to 0.2.1

* fix(ci): wait for Release workflow before publishing packages

Changed trigger from release:published to workflow_run on Release
completion, so assets are already uploaded when download starts.
2026-04-30 17:12:04 +08:00
skyler 2e497c9334
fix(ci): fix YAML parsing error in publish-packages workflow (#26)
Ruby heredoc content was not indented inside the YAML run block,
causing the workflow file to fail parsing on every push.
2026-04-30 16:48:01 +08:00
t8y2 8fc79cf89f feat: add conditional check for release event in publish job 2026-04-30 11:37:13 +08:00
t8y2 5dfe340551 feat: add GitHub Actions workflow for publishing packages to Homebrew and Scoop 2026-04-30 02:32:19 +08:00
t8y2 3e1ab0b3a4 feat: add SSH password authentication support 2026-04-29 20:36:07 +08:00
t8y2 14d0fcfef7 fix: remove --frozen-lockfile from CI install 2026-04-29 18:19:09 +08:00
t8y2 3e3ee6f59d ci: add CI check and release workflows 2026-04-29 18:17:38 +08:00