Commit e5be16a
authored
Fix 1830 (crossbario#1874)
* start new dev branch; add audit file
* Make FlatBuffers generated-code verification actually detect drift (crossbario#1830)
Two bugs let stale generated files accumulate undetected:
1. `build-fbs` invoked a system `flatc` (whatever version is on PATH)
instead of the vendored, version-matched flatc. A version mismatch can
silently produce different generated code.
2. The CI verification ran `build-fbs` on top of the committed tree
WITHOUT cleaning first, so any orphaned file (no longer produced by the
schema) survived in both the "before" and "after" states, matched its
own checksum, and was never flagged.
Fixes:
- justfile: build-fbs now uses the bundled flatc (${VENV_PATH}/bin/flatc),
built from deps/flatbuffers during install, with a clear error if it is
missing.
- main.yml: run `just clean-fbs` before `just build-fbs` so a clean
regeneration is compared against the committed tree.
- main.yml: replace the opaque checksum diff with an actionable,
categorized table derived from `git status` of the regenerated tree:
content differs -> regenerate & commit (e.g. newer flatc)
orphan / not generated -> delete (crossbario#1828)
new, not committed -> commit
Validated locally with the vendored v25.12.19 flatc: a clean regenerate
differs from the committed tree by exactly two files, both orphans
(ChannelBinding.py, Kdf.py) - confirming no flatc content drift, only the
crossbario#1828 leftovers.
NOTE: this commit intentionally leaves those two orphan files in place, so
CI is EXPECTED to fail on this commit - that red run proves the detection
mechanism works and that the files are genuinely stale. The orphans are
removed in the next commit (crossbario#1828), which turns CI green.
Refs crossbario#1828.
Note: This work was completed with AI assistance (Claude Code).
* Delete orphaned generated FlatBuffers files Kdf.py / ChannelBinding.py (crossbario#1828)
These two files in src/autobahn/wamp/gen/wamp/proto/ are stale leftovers
from before the schema renamed the tables to KDF and TLSChannelBinding.
They are no longer produced by `flatc`, and their case-insensitive
collisions with the current KDF.py / TLSChannelBinding.py broke `git
clone` and directory copies on case-insensitive filesystems (APFS/macOS,
some Docker containers).
Produced by `just clean-fbs && just build-fbs` with the vendored
v25.12.19 flatc: a clean regeneration of the canonical tree differs from
the committed tree by exactly these two deletions (every other generated
file is byte-identical), so this commit is precisely "drop the orphans".
With the detection fix from the previous commit (crossbario#1830) now in place,
CI's clean-regenerate-and-compare turns green, proving the two files were
genuine attic leftovers.
Fixes crossbario#1828.
Note: This work was completed with AI assistance (Claude Code).1 parent f5fb7b6 commit e5be16a
6 files changed
Lines changed: 54 additions & 40 deletions
File tree
- .audit
- .github/workflows
- docs
- src/autobahn/wamp/gen/wamp/proto
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
466 | 466 | | |
467 | 467 | | |
468 | 468 | | |
469 | | - | |
470 | | - | |
471 | | - | |
472 | | - | |
473 | | - | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
| |||
489 | 489 | | |
490 | 490 | | |
491 | 491 | | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
509 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
510 | 523 | | |
511 | 524 | | |
512 | 525 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| 42 | + | |
41 | 43 | | |
42 | 44 | | |
43 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1941 | 1941 | | |
1942 | 1942 | | |
1943 | 1943 | | |
1944 | | - | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
1945 | 1953 | | |
1946 | 1954 | | |
1947 | 1955 | | |
| |||
This file was deleted.
This file was deleted.
0 commit comments