v0.1.2
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-31 09:22:42 +01:00
1 parent 698e3c4a1b
commit e3e844ef4f
31 files changed
+287 -75

No files matched your search

+14 -22
View File
@@ -1,28 +1,20 @@
RustBox 0.1.1 - release validation
RustBox 0.1.2 - release validation
Completed in this environment:
- compiler-log remediation: all 47 reported compile errors map to and are covered by three root fixes (41 E0283 empty-parameter inference errors, 2 E0599 rusqlite OptionalExtension errors, 4 SQLx transaction Executor lifetime errors)
- version consistency: Cargo.toml / Cargo.lock / CHANGELOG.md / release metadata = 0.1.1
- migration layout: exactly one schema.sql for sqlite, mysql and pgsql; no session.sql or V001-V046 files
- query catalog parity: 27 modules / 197 public query constants present in sqlite, mysql and pgsql catalogs
- include_str! validation: all referenced files exist
- logical schema parity: sqlite/mysql/pgsql define the same 28 logical tables and column sets
- SQLite execution test: global schema + account tenant schema execute successfully with foreign keys enabled
- SQLite session smoke test: account and session rows insert successfully
- TOML parse: Cargo.toml, config.example.toml and config.dev.toml
- release metadata: Cargo.toml and the RustBox package entry in Cargo.lock = 0.1.2
- TOML parse: Cargo.toml, config.example.toml, config.dev.toml and packaging/rustbox.toml
- shell syntax: dev.sh and scripts/*.sh pass bash -n
- browser JavaScript: manifest resolves 13 files; concatenated production-order bundle passes node --check
- cleanup: no stale session.sql, V001-V046, migrations/user or migrations/session references outside historical changelog/manifest notes
- tests cleanup: only tests/fixtures/account-session-expired.json remains in tests/
- query catalog parity: SQLite/MySQL/PostgreSQL expose the same 27 modules / 197 public SQL constants, including 153 Q_* executable query constants
- logical schema parity: MySQL and PostgreSQL define the same 28 account/global tables
- static SQL dialect scan: no PostgreSQL-only constructs found in the MySQL catalog/baseline and no MySQL-only constructs found in the PostgreSQL catalog/baseline
- MySQL index audit: 49 indexes/constraints checked; no unprefixed TEXT/BLOB key remains and the largest utf8mb4 key estimate is 2568 bytes (<3072); pgp_keys.email is VARCHAR(320)
- MySQL upsert audit: no REPLACE INTO remains in the MySQL catalog; folder/message refresh uses non-destructive ON DUPLICATE KEY UPDATE
- SQLite baseline execution: schema executes successfully under Python sqlite3 with foreign keys enabled
- cluster storage review: SQL mailbox cache is shared; draft attachments are filesystem-backed; built-in Tantivy and OpenPGP are disabled by cluster-mode validation
- no application tests were added for the 0.1.2 audit
Not executable in this environment:
- cargo fmt/test/clippy/build: Rust/Cargo toolchain is not installed and outbound package/toolchain download is unavailable
- live MySQL/PostgreSQL integration tests: database servers/clients are not installed
- cargo fmt/test/clippy/build: Rust/Cargo toolchain is not installed
- live MySQL/PostgreSQL execution: database servers/clients are not installed
The repository contains native Rust tests for tenant scoping, placeholder adaptation and legacy SQLite import; run scripts/build-release.sh on a Rust 1.88+ build host before publishing a production binary.
Hotfix validation (release-gate lint failures):
- removed unusable null_db_value overrides for unsized str/[u8]
- removed redundant row_to_cached_message closure
- collapsed MySQL reordered-params conditional
- cargo/rustc unavailable in packaging environment; run scripts/build-release.sh on Rust host
Before publishing a production binary, run scripts/build-release.sh on a Rust 1.88+ build host and perform a live schema/query smoke test against the exact MySQL/PostgreSQL versions used in production.