The catalogue's check refuses a compiled program under modules/, and main tracks none (issue 1577) #507

Merged
mesh-tools merged 1 commits from fix/1577-no-committed-binaries into main 2026-10-26 18:14:00 +00:00
Member

Issue 1577 (a module's compiled program can be committed and nothing refuses it), met three times; this is its mesh-catalog part. The checker-wide part is the group fix/1577-checker-refuses-binaries.

  • New check module checks/nobinaries (pattern of checks/trunk, with reads-outside so it always runs): lists tracked files under modules/ and fails on ELF, PE and Mach-O (a fat-binary check excludes Java classes), one line per file: ": a compiled program is build output: remove it and add it to .gitignore (issue 1577)". Two unit tests; it fails on the commit before this one, naming both programs.
  • Untracks modules/forticlient/cmd/forticlient-tools/forticlient-tools and modules/networkmanager/uplink-tools; both are built by their modules' build artifacts (cmd/), no manifest field or resource names the committed paths. Their exact paths go into .gitignore.
  • What the operator will see on delivery: forticlient and networkmanager are rebuilt from the same sources and delivered again (their source fingerprints change); forticlient's split-dns process restarts briefly where it runs.

Try: try-1793036630803347522 passed at 94dab686.

Reviewed-by: review-1577@shanks at 94dab68635

Issue 1577 (a module's compiled program can be committed and nothing refuses it), met three times; this is its mesh-catalog part. The checker-wide part is the group fix/1577-checker-refuses-binaries. - New check module checks/nobinaries (pattern of checks/trunk, with reads-outside so it always runs): lists tracked files under modules/ and fails on ELF, PE and Mach-O (a fat-binary check excludes Java classes), one line per file: "<path>: a compiled program is build output: remove it and add it to .gitignore (issue 1577)". Two unit tests; it fails on the commit before this one, naming both programs. - Untracks modules/forticlient/cmd/forticlient-tools/forticlient-tools and modules/networkmanager/uplink-tools; both are built by their modules' build artifacts (cmd/<name>), no manifest field or resource names the committed paths. Their exact paths go into .gitignore. - What the operator will see on delivery: forticlient and networkmanager are rebuilt from the same sources and delivered again (their source fingerprints change); forticlient's split-dns process restarts briefly where it runs. Try: try-1793036630803347522 passed at 94dab686. Reviewed-by: review-1577@shanks at 94dab6863523ae440f64ef3054c0920ef87d9dfd
mesh-tools added 1 commit 2026-10-26 18:07:48 +00:00
Refuse a compiled program under modules/, and untrack the two main held: build output reaches the catalogue only by a slip nothing caught (issue 1577)
mesh/delivery merged: source.main moved to novox/mesh-catalog@da29f77b1081
mesh/check being carried to 94dab6863523 on da29f77b1081 | from 5a4ac4991395
94dab68635
Author
Member

Delivery novox/mesh-catalog@94dab6863523 — merged since 2026-10-26T18:14:02Z

Source — source.main moved to novox/mesh-catalog@da29f77b10. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-10-26 18:07 (new) → proposed (announced): novox/mesh-catalog#507's head announced
  • 2026-10-26 18:07 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-26 18:14 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@94dab6863523` — **merged** since 2026-10-26T18:14:02Z **Source** — source.main moved to novox/mesh-catalog@da29f77b1081. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-10-26 18:07 (new) → proposed (announced): novox/mesh-catalog#507's head announced - 2026-10-26 18:07 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-26 18:14 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit da29f77b10 into main 2026-10-26 18:14:00 +00:00
mesh-tools deleted branch fix/1577-no-committed-binaries 2026-10-26 18:14:00 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#507