From: Michał Kępień Date: Wed, 30 Jul 2025 15:37:38 +0000 (+0200) Subject: Check meson.build formatting in CI X-Git-Tag: v9.21.11~17^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2c6603cb5daff2798893cbe7714253fc5780c03;p=thirdparty%2Fbind9.git 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". --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9635893d82a..d58881c8240 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 c4316aa05dd..c6859dec477 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)