Commit Graph
35 Commits
Author SHA1 Message Date
zyycnandClaude 55e87c3b16 docs: phrase the clean-break warning per major, not 2.x/3.x
The release body ships on every future release, so a hardcoded "from
2.x" would be stale by 4.0. State the invariant instead: schema and
configuration are compatible within a major only, and self-update refuses
cross-major targets from 3.0 on.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-26 23:43:14 +08:00
zyycnandClaude 0c4da6c838 docs: warn 2.x deployments that 3.x is a clean break
The runtime cross-major gate only exists in 3.x binaries; a 2.x admin UI
happily offers the one-click update that produces a non-starting service.
State the clean break in the three places a 2.x operator actually sees
before upgrading: the top of every 3.x GitHub Release body, the README
operations section, and the deploy README upgrade section, each with the
fresh-deployment path (new .runtime/, re-import or re-authorize accounts
and client keys).

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-26 23:41:50 +08:00
zyycnandClaude 720eb0c227 ci: freeze applied migrations behind a sha256 manifest
sqlx re-validates applied-migration checksums on every startup, so any byte
change to a released migration file locks existing deployments out of
starting with no automatic recovery. Record the released migrations in
backend/migrations/.frozen-sha256 and fail CI when a frozen file changes or
a new migration lands without being enrolled. Document the freeze rule and
the local test-database environment in backend/migrations/README.md. The
migration files themselves stay byte-identical: adding even a header
comment would trip the same startup validation this guard protects.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-26 23:20:38 +08:00
zyycnandCodex 997e4ed296 fix(ci): configure Redis test auth in service container
Use the Redis client shipped with the service image so the quality workflow does not depend on a runner package.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 02:00:34 +08:00
zyycnandCodex a6bac4601e chore(release): prepare v3.0.0
Refresh verified dependencies, harden CI test credentials, and align release builders with the current supported image.

Co-authored-by: Codex <noreply@openai.com>
2026-07-25 01:54:18 +08:00
ZyyandCodex 9e57f78bab ci: speed up validation pipelines
Run affected CI checks in parallel and skip unrelated backend or frontend work while retaining workflow lint.

Start release binary builds after release metadata is available, while keeping image assembly, packaging, and publication gated by quality checks.

Co-authored-by: Codex <noreply@openai.com>
2026-07-16 16:07:55 +08:00
dependabot[bot]andCodex 81c58b1cdc chore(deps): bump setup-node to 7.0.0
Update the pinned setup-node action to 7.0.0 across quality and security workflows.

Co-authored-by: Codex <noreply@openai.com>
2026-07-16 01:51:31 +08:00
dependabot[bot] 25081de913 chore(deps): bump action-gh-release to 3.0.2
Update the pinned GitHub Release action from 3.0.1 to 3.0.2.\n\nCo-authored-by: Codex <noreply@openai.com>
2026-07-16 01:23:07 +08:00
zyycnandCodex 37a368de32 fix(ci): avoid duplicate pull request checks
Co-authored-by: Codex <noreply@openai.com>
2026-07-15 11:33:11 +08:00
zyycnandCodex 3f7d473bea fix(ci): allow database bind initialization
Prepare ephemeral CI bind roots as sticky hand-off directories so image-specific database users can initialize storage on user-namespaced runners.

Keep PostgreSQL data permissions image-managed and verify PostgreSQL and Redis persistence across container recreation.

Co-authored-by: Codex <noreply@openai.com>
2026-07-14 01:27:14 +08:00
zyycnandCodex 99cf39c76d refactor: consolidate runtime configuration
Use deploy/config.yaml as the structured source for application settings and service credentials, with strict validation and runtime-relative paths.

Consolidate Compose assets under deploy, remove obsolete environment and smoke files, keep terminal logs readable while retaining JSON file output, and refresh the Codex Desktop fingerprint.

Co-authored-by: Codex <noreply@openai.com>
2026-07-14 00:46:57 +08:00
zyycnandCodex a8f5c5a54e fix: standardize Docker timezone
Set the runtime image and PostgreSQL service to Asia/Shanghai while preserving UTC timestamptz storage semantics.

Verify the application and PostgreSQL timezone contracts in the container workflow and document the display behavior.

Co-authored-by: Codex <noreply@openai.com>
2026-07-12 21:38:14 +08:00
zyycnandCodex 1e99c5037d refactor: migrate backend to Rust 1.97 and edition 2024
Unify the local, CI, release, and container toolchains on Rust 1.97.

Move update configuration, release caching, and event delivery into service-owned state, apply Edition 2024 idioms, and refresh repository ignore rules and documentation.

Co-authored-by: Codex <noreply@openai.com>
2026-07-12 19:10:56 +08:00
zyycnandCodex f30652e113 fix: scan release images for target platform
Co-authored-by: Codex <noreply@openai.com>
2026-07-12 13:34:51 +08:00
zyycnandCodex f867f13ce7 fix: upgrade GitHub Actions runtimes
Co-authored-by: Codex <noreply@openai.com>
2026-07-12 12:59:49 +08:00
zyycnandCodex d7bb5e4ab2 fix: configure redis memory overcommit in container CI
Co-authored-by: Codex <noreply@openai.com>
2026-07-12 12:52:01 +08:00
zyycnandCodex 203fc1b03e fix: harden persistence and runtime boundaries
Co-authored-by: Codex <noreply@openai.com>
2026-07-12 10:07:21 +08:00
zyycnandCodex 4dcd9dc31d feat: harden deployment and CI pipeline
Co-authored-by: Codex <noreply@openai.com>
2026-07-11 17:18:17 +08:00
zyycnandCodex fe5494a614 refactor: align implementation with authoritative architecture
Co-authored-by: Codex <noreply@openai.com>
2026-07-10 22:53:27 +08:00
ZyyandCodex 45e4b36225 refactor: complete postgresql redis migration
Co-authored-by: Codex <noreply@openai.com>
2026-07-10 19:00:14 +08:00
zyycnandCodex 96bcb65e6e ci: optimize release workflow
Co-authored-by: Codex <noreply@openai.com>
2026-07-04 13:25:40 +08:00
zyycnandCodex 0179d02c80 chore: prepare release cleanup
Co-authored-by: Codex <noreply@openai.com>
2026-07-03 23:37:27 +08:00
ZyyandCodex 112bd76f66 refactor: address audit findings
Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Zyy <No Email>
2026-07-03 18:20:05 +08:00
ZyyandCodex 71279877df ci: refine release workflow
Co-authored-by: Codex <noreply@openai.com>
2026-07-03 10:25:44 +08:00
ZyyandCodex 00fa8505ea ci: centralize release metadata
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 18:20:29 +08:00
ZyyandCodex ee1194d618 ci: add desktop release assets
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 13:13:47 +08:00
ZyyandCodex 269fde863b ci: polish release notes headings
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 13:03:39 +08:00
ZyyandCodex 49a47ea8f9 ci: update release cache action
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 13:00:52 +08:00
ZyyandCodex 2485d776ff ci: optimize release pipeline
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 12:51:40 +08:00
ZyyandCodex 9092740c9a ci: complete release pipeline
Co-authored-by: Codex <noreply@openai.com>
2026-07-02 12:09:22 +08:00
ZyyandCodex 1dd74b454e ci: align release image architecture
Co-authored-by: Codex <noreply@openai.com>
2026-07-01 17:49:46 +08:00
ZyyandCodex 0aaef984a0 ci: pin pnpm for release workflow
Co-authored-by: Codex <noreply@openai.com>
2026-07-01 17:21:37 +08:00
ZyyandCodex 9b0e874379 refactor: restructure project layout
Co-authored-by: Codex <noreply@openai.com>
2026-07-01 17:13:00 +08:00
ZyyandCodex 6c7dace082 feat: align online update flow
Co-authored-by: Codex <noreply@openai.com>
2026-07-01 15:54:43 +08:00
ZyyandCodex ea0f3af9d7 feat: add docker online update flow
Co-authored-by: Codex <noreply@openai.com>
2026-07-01 12:21:47 +08:00