mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-18 18:16:22 +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>
36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
# 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 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 (`./configure` or `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`
|