Setup
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Local verification — 2026-10-04
|
||||
|
||||
## Passed
|
||||
|
||||
- Both `fpol_server` and `fpol_admin` compile in Debug and Release using the available **GCC 16.2.1** host compiler and C++23.
|
||||
- 25 core tests pass against the production admin executable in both configurations. These cover Noto migrations, reopening SQLite, import idempotency, immutable IDs, corrections, chronological replay, mode isolation, roster eligibility, rounding, capacity, missing data, ambiguous leader previews and round mismatches.
|
||||
- The real Michigan snapshot imports successfully; candidate counts match the coverage report. Demo and real data are seeded in the ignored local `var/fpol.sqlite`.
|
||||
- Strict TypeScript checking and the Vite production build pass.
|
||||
- Shared Modulus formatting and `git diff --check` pass. The bootstrap is unchanged from the canonical shared file.
|
||||
- Server help and invalid-startup tests pass without sockets.
|
||||
|
||||
## Environment limits
|
||||
|
||||
The full Debug CTest run executes all 25 core tests successfully, then runs eight server tests. Two server tests pass; six cannot execute their socket-dependent paths because the sandbox rejects socket creation with `Operation not permitted`. The suite is deliberately still failing here, not skipped or reported green. HTTP success/error envelopes, real request transport, static delivery and shutdown need the normal development/CI environment. A browser interaction/visual check also remains outstanding.
|
||||
|
||||
Docker's socket is inaccessible in this environment, and GCC 12 is not installed on the host. Consequently, the configured Modulus GCC 12/container workflow could not be verified here. The fallback builds local Modulus/Noto sources into ignored directories under this repository and uses already-cached Boost/OpenSSL/SQLite plus the existing local Ligo build. Release application compilation maps cached dependency configurations to Debug; this is an optimized application check, not a fully optimized dependency build or performance measurement. No shared library sources or dependency caches were modified.
|
||||
|
||||
The committed Gitea workflow still runs the intended GCC 12 debug/release builds and the full HTTP suite. Run it, or the README's normal Modulus checks, before merging.
|
||||
|
||||
## Reproduce these local fallback checks
|
||||
|
||||
These paths are local artifacts, not portable prerequisites:
|
||||
|
||||
```sh
|
||||
cmake --build build/kickoff_debug
|
||||
cmake --build build/kickoff_release
|
||||
python3 tests/test_core.py build/kickoff_debug/fpol_admin
|
||||
python3 tests/test_core.py build/kickoff_release/fpol_admin
|
||||
ctest --test-dir build/kickoff_debug --output-on-failure
|
||||
npm --prefix frontend run build
|
||||
```
|
||||
|
||||
The local database and frontend assets are already prepared. Outside the socket-restricted sandbox, the locally built prototype can be started from this repo root:
|
||||
|
||||
```sh
|
||||
build/kickoff_debug/fpol_server --web-root frontend/dist
|
||||
```
|
||||
|
||||
Open `http://127.0.0.1:8080`. Provider JSON transport and automatic election-night coverage are separate outstanding checks listed in [the data report](data-coverage.md).
|
||||
Reference in New Issue
Block a user