From 29e769f4529a8e3c972b070c25a91e4fb3ba7fdd Mon Sep 17 00:00:00 2001 From: Oliver Schmidt Date: Tue, 7 May 2024 23:52:25 +0200 Subject: [PATCH] WIP: adapting to new percona release scheme pulls in nixpkgs PR to run tests still needs docs --- flake.lock | 6 +++--- nixos/roles/mysql.nix | 5 +++++ pkgs/overlay.nix | 7 +++++++ release/versions.json | 4 ++-- tests/default.nix | 1 + 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 21376ec08..85a5de959 100644 --- a/flake.lock +++ b/flake.lock @@ -411,11 +411,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1714646030, - "narHash": "sha256-TxArUwWgpFz8NZ3UFal97fT0c2klCIIqfZKHaQcFu30=", + "lastModified": 1715118196, + "narHash": "sha256-KDKRKJW3qGm4QBhjKqV2G+NPd9OsZPCar6R9VyFcO3Q=", "owner": "flyingcircusio", "repo": "nixpkgs", - "rev": "f5b0f08d5f02d320901ed6991eabaf012c01c0d6", + "rev": "b4509fefd60027505124a781a32dc7f8e6dca108", "type": "github" }, "original": { diff --git a/nixos/roles/mysql.nix b/nixos/roles/mysql.nix index 7e73ea01f..4c3fb2050 100644 --- a/nixos/roles/mysql.nix +++ b/nixos/roles/mysql.nix @@ -57,28 +57,33 @@ in mysql57 = mkRole "5.7"; percona80 = mkRole "8.0"; percona81 = mkRole "8.1"; + percona83 = mkRole "8.3"; }; }; config = let + # TODO: with the impending explosion of percona releases, we might want to streamline this mysqlRoles = with config.flyingcircus.roles; { "5.7" = mysql57.enable; "8.0" = percona80.enable; "8.1" = percona81.enable; + "8.3" = percona83.enable; }; mysqlPackages = with pkgs; { "5.7" = percona57; "8.0" = percona80; "8.1" = percona81; + "8.3" = percona83; }; xtrabackupPackages = with pkgs; { "5.7" = percona-xtrabackup_2_4; "8.0" = percona-xtrabackup_8_0; "8.1" = percona-xtrabackup_8_1; + "8.3" = percona-xtrabackup_8_3; }; cfg = config.flyingcircus.roles.mysql; diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix index e7e449faf..ef79943af 100644 --- a/pkgs/overlay.nix +++ b/pkgs/overlay.nix @@ -339,6 +339,7 @@ builtins.mapAttrs (_: patchPhps phpLogPermissionPatch) { percona80 = super.percona-server_8_0; + # FIXME: this is EOL, do we still need it? percona81 = super.callPackage ./percona/8.1.nix { boost = self.boost177; icu = self.icu69; @@ -347,16 +348,22 @@ builtins.mapAttrs (_: patchPhps phpLogPermissionPatch) { inherit (self.darwin.apple_sdk.frameworks) CoreServices; }; + # assertion notifies us about the need to vendor the old innovation releases + percona83 = assert self.percona-server_innovation.mysqlVersion == "8.3"; self.percona-server_innovation; + percona-xtrabackup_2_4 = super.callPackage ./percona-xtrabackup/2_4.nix { boost = self.boost159; openssl = self.openssl_1_1; }; + # FIXME: this is EOL, do we still need it? percona-xtrabackup_8_1 = super.callPackage ./percona-xtrabackup/8_1.nix { boost = self.boost177; protobuf = self.protobuf_21; }; + percona-xtrabackup_8_3 = assert self.percona-xtrabackup_innovation.mysqlVersion == "8.3"; self.percona-xtrabackup_innovation; + # Has been renamed upstream, backy-extract still wants to use it. pkgconfig = super.pkg-config; diff --git a/release/versions.json b/release/versions.json index ffb05c540..c47d35636 100644 --- a/release/versions.json +++ b/release/versions.json @@ -8,9 +8,9 @@ "url": "https://gitlab.flyingcircus.io/flyingcircus/nixos-mailserver.git/" }, "nixpkgs": { - "hash": "sha256-TxArUwWgpFz8NZ3UFal97fT0c2klCIIqfZKHaQcFu30=", + "hash": "sha256-KDKRKJW3qGm4QBhjKqV2G+NPd9OsZPCar6R9VyFcO3Q=", "owner": "flyingcircusio", "repo": "nixpkgs", - "rev": "f5b0f08d5f02d320901ed6991eabaf012c01c0d6" + "rev": "b4509fefd60027505124a781a32dc7f8e6dca108" } } diff --git a/tests/default.nix b/tests/default.nix index 25ad52200..3bcf71e98 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -93,6 +93,7 @@ in { openvpn = callTest ./openvpn.nix {}; percona80 = callTest ./mysql.nix { rolename = "percona80"; }; percona81 = callTest ./mysql.nix { rolename = "percona81"; }; + percona83 = callTest ./mysql.nix { rolename = "percona83"; }; physical-installer = callTest ./physical-installer.nix { inherit nixpkgs; }; postgresql12 = callTest ./postgresql { version = "12"; }; postgresql13 = callTest ./postgresql { version = "13"; };