Files
cproof/scripts
Michael Vetter 27cb926061 ci: remove ASan from Valgrind check
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>
2026-04-03 10:03:03 +02:00
..

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 apply clang-format fixes.
    • --tests: Run unit tests using Meson.
    • --hook: Run in "hook mode" (checks only staged files).
    • --install: Install the script as a git pre-commit hook.

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 --pr to 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 at xmpp.org.
  • Usage: python3 scripts/check-new-xeps.py