mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 19:16:21 +00:00
ASan and Valgrind both intercept memory allocations and management at runtime. Running them simultaneously might lead to conflicts in memory tracking. This change ensures that during the Valgrind phase of the build matrix, only Valgrind is responsible for memory analysis, avoiding redundant overhead and ensuring more reliable results. Signed-off-by: Michael Vetter <jubalh@iodoru.org>
Scripts
This directory contains various scripts used for development, CI, and maintenance.
lint-and-test.sh
Central validation script mainly for local development.
- Purpose: Runs spelling checks, code formatting, and unit testing.
- Usage:
./scripts/lint-and-test.sh [options] - Options:
--fix-formatting: Automatically applyclang-formatfixes.--tests: Run unit tests using Meson.--hook: Run in "hook mode" (checks only staged files).--install: Install the script as a gitpre-commithook.
build-configuration-matrix.sh
Exhaustive build configuration matrix testing. It ensures that Profanity compiles and passes unit tests across a variety of feature configurations for Meson.
- Purpose: Verifies architectural compatibility by testing many combinations of build flags.
- Usage:
./scripts/build-configuration-matrix.sh [extra-args] - Extra Arguments: Any arguments are forwarded directly to the configuration command (
meson setup). - Environment: Primarily used in CI (GitHub Actions), but can be run locally to verify all configurations.
changelog-helper.py
Generates a sorted changelog from git commits since the last tag.
- Purpose: Automates the creation of release notes by parsing Conventional Commit messages.
- Usage:
python3 scripts/changelog-helper.py [--pr] - Options: Use
--prto append Pull Request numbers to each entry.
check-new-xeps.py
Checks for updates to XMPP Extension Protocols (XEPs).
- Purpose: Compares the versions of XEPs implemented in Profanity (tracked in
profanity.doap) against the latest versions available atxmpp.org. - Usage:
python3 scripts/check-new-xeps.py