docs: publish an API reference; tighten clang-tidy, guides, and packaging - #62
Merged
Merged
Conversation
…ging - Doxyfile and `make docs` build the API reference from the public headers and user docs, with warnings as errors. docs.yml builds it on pull requests and deploys it to GitHub Pages on release tags. - clang-tidy now runs modernize-* plus targeted readability and C++ Core Guidelines checks; the config says why each exclusion stays out. - libwebsockets is found through its CMake package (vcpkg, Homebrew, Ubuntu), with pkg-config as the fallback. cmake/KalshiWebsockets.cmake keeps that package's directory-wide include_directories() from exposing libwebsockets' warnings, here and in consumers. - CONTRIBUTING is shorter and matches the tooling, SECURITY covers Ed25519, and README links the API reference. - The generator no longer cuts a long description inside a code span, and a summary that introduces a list stops before it.
- Deploy the API reference only when release.yml dispatches it after a release, one deploy at a time. - Run libwebsockets' CMake package inside a function and restore the directory's include and link directories exactly, instead of editing them; the installed config maps targets and reports not-found gracefully. - Link README's spec and example files absolutely so they work on Pages. - Fix the macOS and Ubuntu setup steps and align CONTRIBUTING with the audit. - List clang-tidy 18's modernize checks by name. - Keep the text when truncating a description that starts with a code span.
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.
Summary
Publishes an API reference, tightens the checks and docs, and smooths packaging before 0.6.0.
Doxyfileandmake docsbuild it from the publicheaders, README, operation and channel lists, and changelog, with warnings
treated as errors.
.github/workflows/docs.ymlbuilds it on pull requeststhat touch those files and deploys it to GitHub Pages on release tags.
modernize-*and targetedreadability-*andcppcoreguidelines-*checks. The config records why eachexclusion stays out.
CMake that Ubuntu 24.04 lacks,
make docs, theautorule, and 0.x SemVer.SECURITY covers Ed25519 keys, and README links the API reference.
(vcpkg, Homebrew, and Ubuntu ship one), with pkg-config as the fallback, so
the vcpkg port needs no pkg-config.
cmake/KalshiWebsockets.cmakekeeps thatpackage's directory-wide
include_directories()from exposing libwebsockets'warnings, in this build and in consumers.
span, and a summary that introduces a list stops before the list.
Checks
make docswith Doxygen 1.18 (macOS) and 1.9.8 (Ubuntu 24.04), no warningsmake format lint test, clang-tidy with the wider set on Ubuntu 24.04./tools/test_consumers.shon macOS and Ubuntu 24.04