From d808b88b5516349cd6ff86fbb5be75d2da3b9773 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sat, 21 Mar 2026 00:30:40 +0100 Subject: [PATCH] chore: Add README explaining the purpose and usage of helper scripts Signed-off-by: Michael Vetter --- scripts/README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 scripts/README.md diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 00000000..2c3c4b0d --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,34 @@ +# 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. + - `--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 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. + +- **Purpose:** Verifies architectural compatibility by testing many combinations of build flags. +- **Usage:** `./scripts/build-configuration-matrix.sh` +- **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`