2023-07-07 22:01:34 -04:00
|
|
|
{ name, config, lib, kubenix, ... }:
|
2022-04-02 12:40:35 -07:00
|
|
|
with lib; let
|
2019-03-01 17:49:37 +01:00
|
|
|
inst-exact = config.submodules.instances.inst-exact.config;
|
|
|
|
|
inst-regex = config.submodules.instances.inst-regex.config;
|
|
|
|
|
inst-latest = config.submodules.instances.inst-latest.config;
|
|
|
|
|
|
|
|
|
|
submodule = {
|
2023-07-07 22:01:34 -04:00
|
|
|
imports = [ kubenix.modules.submodule ];
|
2019-03-01 17:49:37 +01:00
|
|
|
|
|
|
|
|
options.version = mkOption {
|
|
|
|
|
type = types.str;
|
|
|
|
|
default = "undefined";
|
|
|
|
|
};
|
2019-03-12 20:33:56 +01:00
|
|
|
|
|
|
|
|
config.submodule.name = "subm";
|
2019-03-01 17:49:37 +01:00
|
|
|
};
|
2023-07-07 22:01:34 -04:00
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
imports = with kubenix.modules; [ test submodules ];
|
2019-03-01 17:49:37 +01:00
|
|
|
|
|
|
|
|
test = {
|
2019-03-20 20:59:17 +01:00
|
|
|
name = "submodules-versioning";
|
|
|
|
|
description = "Submodules versioning test";
|
2022-04-02 12:40:35 -07:00
|
|
|
assertions = [
|
|
|
|
|
{
|
|
|
|
|
message = "should select exact version";
|
|
|
|
|
assertion = inst-exact.version == "1.1.0";
|
|
|
|
|
}
|
2021-05-13 17:27:08 -04:00
|
|
|
{
|
|
|
|
|
message = "should select regex version";
|
|
|
|
|
assertion = inst-regex.version == "1.2.1";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
message = "should select latest version";
|
|
|
|
|
assertion = inst-latest.version == "1.2.1";
|
2022-04-02 12:40:35 -07:00
|
|
|
}
|
|
|
|
|
];
|
2019-03-01 17:49:37 +01:00
|
|
|
};
|
|
|
|
|
|
2022-04-02 12:40:35 -07:00
|
|
|
submodules.imports = [
|
|
|
|
|
{
|
|
|
|
|
modules = [
|
|
|
|
|
{
|
|
|
|
|
config.submodule.version = "1.0.0";
|
|
|
|
|
config.version = "1.0.0";
|
|
|
|
|
}
|
|
|
|
|
submodule
|
|
|
|
|
];
|
2021-05-13 17:27:08 -04:00
|
|
|
}
|
|
|
|
|
{
|
2022-04-02 12:40:35 -07:00
|
|
|
modules = [
|
|
|
|
|
{
|
|
|
|
|
config.submodule.version = "1.1.0";
|
|
|
|
|
config.version = "1.1.0";
|
|
|
|
|
}
|
|
|
|
|
submodule
|
|
|
|
|
];
|
2021-05-13 17:27:08 -04:00
|
|
|
}
|
|
|
|
|
{
|
2022-04-02 12:40:35 -07:00
|
|
|
modules = [
|
|
|
|
|
{
|
|
|
|
|
config.submodule.version = "1.2.0";
|
|
|
|
|
config.version = "1.2.0";
|
|
|
|
|
}
|
|
|
|
|
submodule
|
|
|
|
|
];
|
2021-05-13 17:27:08 -04:00
|
|
|
}
|
|
|
|
|
{
|
2022-04-02 12:40:35 -07:00
|
|
|
modules = [
|
|
|
|
|
{
|
|
|
|
|
config.submodule.version = "1.2.1";
|
|
|
|
|
config.version = "1.2.1";
|
|
|
|
|
}
|
|
|
|
|
submodule
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2019-03-01 17:49:37 +01:00
|
|
|
|
|
|
|
|
submodules.instances.inst-exact = {
|
|
|
|
|
submodule = "subm";
|
|
|
|
|
version = "1.1.0";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
submodules.instances.inst-regex = {
|
|
|
|
|
submodule = "subm";
|
|
|
|
|
version = "~1.2.*";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
submodules.instances.inst-latest.submodule = "subm";
|
|
|
|
|
}
|