From e2c6603cb5daff2798893cbe7714253fc5780c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Wed, 30 Jul 2025 17:37:38 +0200 Subject: [PATCH] Check meson.build formatting in CI Add a new CI job that checks whether all meson.build files in the repository are formatted in the exact same way as "muon fmt" would format them. This enforces formatting consistency across all meson.build files in the repository and enables updating their contents using dedicated tools, e.g. "meson rewrite". --- .gitlab-ci.yml | 23 +++++++++++++++++++++++ meson.build | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9635893d82..d58881c824 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -615,6 +615,29 @@ coccinelle: - util/check-cocci - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi +meson-format: + ###################################################################### + # Revert to using the "precheck_job" anchor after the "base" image is + # upgraded to Debian trixie, which has muon 0.4.0. + <<: *default_triggering_rules + <<: *debian_sid_amd64_image + stage: precheck + ###################################################################### + needs: [] + script: + - git ls-files "*meson.build" | xargs muon-meson fmt -i + - git diff > meson-format.patch + - if test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi + artifacts: + paths: + - meson-format.patch + expire_in: "1 week" + when: on_failure + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' + changes: + - "**/meson.build" + doctest: <<: *precheck_job needs: [] diff --git a/meson.build b/meson.build index c4316aa05d..c6859dec47 100644 --- a/meson.build +++ b/meson.build @@ -1650,7 +1650,7 @@ print(release_date, end="") if doc_opt.allowed() release_date = '' if python.found() - release_date = run_command(python, ['-c', get_release_date], check: true).stdout() + release_date = run_command(python, ['-c', get_release_date], check: true).stdout() endif man_srcconf = man_srcset.apply(config, strict: false)