diff options
author | Jade Lovelace <lix@jade.fyi> | 2024-07-23 22:53:56 +0200 |
---|---|---|
committer | Jade Lovelace <lix@jade.fyi> | 2024-07-31 14:13:39 -0700 |
commit | b5c6ce7a537d91ee22d6876ba0166259da2ac3c0 (patch) | |
tree | 9b12cbb1933db0fbe5c099c94d5b3cfc62c369b0 | |
parent | e51263057f21e77602481d6a6d826ff8cc0c1db0 (diff) |
Add -Werror CI job
We should cause CLs that introduce compiler warnings to fail CI. Sadly
this will only cover Clang, but it will cover Clang for free, so it's
truly impossible to say if it's bad or not.
Change-Id: I45ca20d77251af9671d5cbe0d29cb08c5f1d03c2
-rw-r--r-- | flake.nix | 4 | ||||
-rw-r--r-- | package.nix | 3 |
2 files changed, 7 insertions, 0 deletions
@@ -283,6 +283,10 @@ "address" "undefined" ]; + # it is very hard to make *every* CI build use this option such + # that we don't wind up building Lix twice, so we do it here where + # we are already doing so. + werror = true; }; # Make sure that nix-env still produces the exact same result diff --git a/package.nix b/package.nix index 0807ec1de..9f983f66b 100644 --- a/package.nix +++ b/package.nix @@ -60,6 +60,8 @@ # List of Meson sanitize options. Accepts values of b_sanitize, e.g. # "address", "undefined", "thread". sanitize ? null, + # Turn compiler warnings into errors. + werror ? false, # Not a real argument, just the only way to approximate let-binding some # stuff for argument defaults. @@ -191,6 +193,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.mesonEnable "internal-api-docs" internalApiDocs) (lib.mesonBool "enable-tests" finalAttrs.finalPackage.doCheck) (lib.mesonBool "enable-docs" canRunInstalled) + (lib.mesonBool "werror" werror) ] ++ lib.optional (hostPlatform != buildPlatform) "--cross-file=${mesonCrossFile}" ++ sanitizeOpts; |