Merge branch 'release-check' into 'master'
Check release version compat, stop testing stable NixOS See merge request simple-nixos-mailserver/nixos-mailserver!440
This commit is contained in:
15
default.nix
15
default.nix
@@ -41,6 +41,21 @@ in
|
|||||||
options.mailserver = {
|
options.mailserver = {
|
||||||
enable = mkEnableOption "nixos-mailserver";
|
enable = mkEnableOption "nixos-mailserver";
|
||||||
|
|
||||||
|
enableNixpkgsReleaseCheck = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to check for a release mismatch between NixOS mailserver and
|
||||||
|
Nixpkgs.
|
||||||
|
|
||||||
|
Using mismatched versions is likely to cause compatibility issues
|
||||||
|
and may require migrations that make an eventual rollback tricky.
|
||||||
|
|
||||||
|
It is therefore highly recommended to use a release of NixOS mailserver
|
||||||
|
that corresponds with your chosen release of Nixpkgs.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
stateVersion = mkOption {
|
stateVersion = mkOption {
|
||||||
type = types.nullOr types.ints.positive;
|
type = types.nullOr types.ints.positive;
|
||||||
default = null;
|
default = null;
|
||||||
|
|||||||
19
flake.lock
generated
19
flake.lock
generated
@@ -93,29 +93,12 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-25_05": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1761999846,
|
|
||||||
"narHash": "sha256-IYlYnp4O4dzEpL77BD/lj5NnJy2J8qbHkNSFiPBCbqo=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "3de8f8d73e35724bf9abef41f1bdbedda1e14a31",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-25.05",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"blobs": "blobs",
|
"blobs": "blobs",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"git-hooks": "git-hooks",
|
"git-hooks": "git-hooks",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs"
|
||||||
"nixpkgs-25_05": "nixpkgs-25_05"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-25_05.url = "github:NixOS/nixpkgs/nixos-25.05";
|
|
||||||
blobs = {
|
blobs = {
|
||||||
url = "gitlab:simple-nixos-mailserver/blobs";
|
url = "gitlab:simple-nixos-mailserver/blobs";
|
||||||
flake = false;
|
flake = false;
|
||||||
@@ -26,7 +25,6 @@
|
|||||||
blobs,
|
blobs,
|
||||||
git-hooks,
|
git-hooks,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-25_05,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
@@ -39,11 +37,6 @@
|
|||||||
nixpkgs = nixpkgs;
|
nixpkgs = nixpkgs;
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
name = "25.05";
|
|
||||||
nixpkgs = nixpkgs-25_05;
|
|
||||||
pkgs = nixpkgs-25_05.legacyPackages.${system};
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
testNames = [
|
testNames = [
|
||||||
"clamav"
|
"clamav"
|
||||||
|
|||||||
@@ -3,7 +3,34 @@
|
|||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
mailserverRelease = "25.11";
|
||||||
|
nixpkgsRelease = lib.trivial.release;
|
||||||
|
releaseMismatch =
|
||||||
|
config.mailserver.enableNixpkgsReleaseCheck && mailserverRelease != nixpkgsRelease;
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
warnings = lib.optional releaseMismatch ''
|
||||||
|
You are using
|
||||||
|
|
||||||
|
NixOS Mailserver version ${mailserverRelease} and
|
||||||
|
Nixpkgs version ${nixpkgsRelease}.
|
||||||
|
|
||||||
|
Using mismatched versions is likely to cause compatibility issues
|
||||||
|
and may require migrations that make an eventual rollback tricky.
|
||||||
|
|
||||||
|
It is therefore highly recommended to use a release of
|
||||||
|
NixOS mailserver that corresponds with your chosen release of Nixpkgs.
|
||||||
|
|
||||||
|
If you insist then you can disable this warning by adding
|
||||||
|
|
||||||
|
mailserver.enableNixpkgsReleaseCheck = false;
|
||||||
|
|
||||||
|
to your configuration.
|
||||||
|
'';
|
||||||
|
|
||||||
# We guard all assertions by requiring mailserver to be actually enabled
|
# We guard all assertions by requiring mailserver to be actually enabled
|
||||||
assertions = lib.optionals config.mailserver.enable (
|
assertions = lib.optionals config.mailserver.enable (
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user