mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 14:06:21 +00:00
Earlier ci/meson-build.sh and ci/ci-build.sh. The latter we then renamed to the more descriptive build-configuration-matrix.sh. Both scripts are doing the same thing but for different build systems. So lets merge them together. 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.--autotools/--meson: Run unit tests using the specified build system.--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 both Autotools and Meson.
- Purpose: Verifies architectural compatibility by testing many combinations of build flags.
- Usage:
./scripts/build-configuration-matrix.sh [autotools|meson] [extra-args] - Extra Arguments: Any arguments passed after the build system are forwarded directly to the configuration command (
./configureormeson 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