Fix Windows CI cargo test crash (STATUS_ENTRYPOINT_NOT_FOUND) and optimize local date bucketing - #93
Merged
Merged
Conversation
…dd perf benchmarks
tauri-build embeds the Windows app manifest into binaries only (rustc-link-arg-bins), so the lib test executable loads Common-Controls v5 and dies with STATUS_ENTRYPOINT_NOT_FOUND (0xc0000139) before running any test (tauri-apps/tauri#13419). Tauri's own __TAURI_WORKSPACE__ workaround resolves the manifest relative to its monorepo and cannot work downstream, so drop that env hack and do what upstream does: suppress the per-bin manifest and embed the vendored one into every link target via /MANIFEST:EMBED + /MANIFESTINPUT.
tokenledger_local_bucket no longer yields NULL when the local zone cannot map an instant: ambiguous readings take the earlier offset and unmappable ones fall back to UTC, preserving strftime's never-NULL guarantee. Extract the duplicated hourly flag in queries and name the synthetic-data epoch anchor (BASE_EPOCH) in the performance standard.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix Windows CI
cargo testcrash and optimize local date bucketingProblem
The
windows-latestleg of CI failed on every run:The test executable died before running a single test.
Root cause
Known Tauri issue (tauri-apps/tauri#13419, #14580, originating in PR #4383):
tauri-plugin-dialoglinks entry points that only exist in Common-Controls v6, which Windows activates solely from the executable's application manifest.tauri-buildembeds that manifest into binaries only (rustc-link-arg-bins), never into test executables — so the test exe loads ComCtl32 v5 and fails import resolution at process start.__TAURI_WORKSPACE__workaround resolves the manifest relative to its own monorepo and cannot work downstream (the previous attempt in.cargo/config.tomlhad no effect).Fix
windows-app-manifest.xmlintosrc-tauri/(byte-for-byte copy of the 2.6.3 default).build.rs(Windows MSVC only): suppress tauri-build's per-bin manifest vianew_without_app_manifest(), then embed the vendored manifest into every link target — binaries and test executables alike — viacargo:rustc-link-arg=/MANIFEST:EMBED+/MANIFESTINPUT:. This mirrors what upstream does in its own workspace.__TAURI_WORKSPACE__env hack from.cargo/config.toml.Also in this branch
strftime(..., 'localtime')with a cachedtokenledger_local_bucketSQLite scalar function (chrono resolves offsets in memory instead of crossing into the OS per row), plus a release-mode performance standard (npm run perf, 100k-event budgets) and an equivalence test against SQLite'sstrftimereference.tokenledger_local_bucketnever yields NULL — ambiguous readings take the earlier offset, unmappable instants fall back to UTC.app_contextmocking to avoid GUI resource loading under the mock runtime.crate-typenarrowed to["lib"](desktop-only app; no mobile targets).Verification
macos-latest,windows-latest,ubuntu-22.04) — the Windowscargo testleg that this branch targets now runs the full suite.