summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Heinrich <onny@project-insanity.org>2023-01-05 14:25:02 +0100
committerGitHub <noreply@github.com>2023-01-05 14:25:02 +0100
commit20f0e0b16b4c69d5c96833a8672c9f1e9042b4ee (patch)
treec05936175898605962508a931d15c7af4aabdfec
parentMerge pull request #209027 from NixOS/backport-206390-to-release-22.11 (diff)
parentnixosTests.wordpress: iterate over versions (diff)
downloadnixpkgs-20f0e0b16b4c69d5c96833a8672c9f1e9042b4ee.tar.gz
Merge pull request #209051 from urandom2/wordpress
[22.11] wordpress6_1: init at 6.1.1
-rw-r--r--nixos/tests/wordpress.nix34
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix41
-rw-r--r--pkgs/servers/web-apps/wordpress/generic.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 68 insertions, 45 deletions
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
index 416a20aa7fe8..5e0d524d35aa 100644
--- a/nixos/tests/wordpress.nix
+++ b/nixos/tests/wordpress.nix
@@ -1,6 +1,6 @@
-import ./make-test-python.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
-{
+rec {
name = "wordpress";
meta = with pkgs.lib.maintainers; {
maintainers = [
@@ -10,17 +10,22 @@ import ./make-test-python.nix ({ pkgs, ... }:
];
};
- nodes = {
- wp_httpd = { ... }: {
+ nodes = lib.foldl (a: version: let
+ package = pkgs."wordpress${version}";
+ in a // {
+ "wp${version}_httpd" = _: {
services.httpd.adminAddr = "webmaster@site.local";
services.httpd.logPerVirtualHost = true;
+ services.wordpress.webserver = "httpd";
services.wordpress.sites = {
"site1.local" = {
database.tablePrefix = "site1_";
+ inherit package;
};
"site2.local" = {
database.tablePrefix = "site2_";
+ inherit package;
};
};
@@ -28,14 +33,16 @@ import ./make-test-python.nix ({ pkgs, ... }:
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
};
- wp_nginx = { ... }: {
+ "wp${version}_nginx" = _: {
services.wordpress.webserver = "nginx";
services.wordpress.sites = {
"site1.local" = {
database.tablePrefix = "site1_";
+ inherit package;
};
"site2.local" = {
database.tablePrefix = "site2_";
+ inherit package;
};
};
@@ -43,34 +50,39 @@ import ./make-test-python.nix ({ pkgs, ... }:
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
};
- wp_caddy = { ... }: {
+ "wp${version}_caddy" = _: {
services.wordpress.webserver = "caddy";
services.wordpress.sites = {
"site1.local" = {
database.tablePrefix = "site1_";
+ inherit package;
};
"site2.local" = {
database.tablePrefix = "site2_";
+ inherit package;
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
};
- };
+ }) {} [
+ "6_0"
+ "6_1"
+ ];
testScript = ''
import re
start_all()
- wp_httpd.wait_for_unit("httpd")
- wp_nginx.wait_for_unit("nginx")
- wp_caddy.wait_for_unit("caddy")
+ ${lib.concatStrings (lib.mapAttrsToList (name: value: ''
+ ${name}.wait_for_unit("${(value null).services.wordpress.webserver}")
+ '') nodes)}
site_names = ["site1.local", "site2.local"]
- for machine in (wp_httpd, wp_nginx, wp_caddy):
+ for machine in (${lib.concatStringsSep ", " (builtins.attrNames nodes)}):
for site_name in site_names:
machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index d14a1559e468..0915b239768a 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -1,36 +1,11 @@
-{ lib, stdenv, fetchurl, nixosTests, writeScript }:
-
-stdenv.mkDerivation rec {
- pname = "wordpress";
- version = "6.0.3";
-
- src = fetchurl {
- url = "https://wordpress.org/${pname}-${version}.tar.gz";
- sha256 = "sha256-eSi0qwzXoJ1wYUzi34s7QbBbwRm2hfXoyGFivhPBq5o=";
+{ callPackage }: builtins.mapAttrs (_: callPackage ./generic.nix) rec {
+ wordpress = wordpress6_0;
+ wordpress6_0 = {
+ version = "6.0.3";
+ hash = "sha256-eSi0qwzXoJ1wYUzi34s7QbBbwRm2hfXoyGFivhPBq5o=";
};
-
- installPhase = ''
- mkdir -p $out/share/wordpress
- cp -r . $out/share/wordpress
- '';
-
- passthru.tests = {
- inherit (nixosTests) wordpress;
- };
-
- passthru.updateScript = writeScript "update.sh" ''
- #!/usr/bin/env nix-shell
- #!nix-shell -i bash -p common-updater-scripts jq
- set -eu -o pipefail
- version=$(curl --globoff "https://api.wordpress.org/core/version-check/1.7/" | jq -r '.offers[0].version')
- update-source-version wordpress $version
- '';
-
- meta = with lib; {
- homepage = "https://wordpress.org";
- description = "WordPress is open source software you can use to create a beautiful website, blog, or app";
- license = [ licenses.gpl2 ];
- maintainers = [ maintainers.basvandijk ];
- platforms = platforms.all;
+ wordpress6_1 = {
+ version = "6.1.1";
+ hash = "sha256-IR6FSmm3Pd8cCHNQTH1oIaLYsEP1obVjr0bDJkD7H60=";
};
}
diff --git a/pkgs/servers/web-apps/wordpress/generic.nix b/pkgs/servers/web-apps/wordpress/generic.nix
new file mode 100644
index 000000000000..3c9aa377d770
--- /dev/null
+++ b/pkgs/servers/web-apps/wordpress/generic.nix
@@ -0,0 +1,36 @@
+{ lib, version, hash, stdenv, fetchurl, nixosTests, writeScript }:
+
+stdenv.mkDerivation rec {
+ pname = "wordpress";
+ inherit version;
+
+ src = fetchurl {
+ url = "https://wordpress.org/${pname}-${version}.tar.gz";
+ inherit hash;
+ };
+
+ installPhase = ''
+ mkdir -p $out/share/wordpress
+ cp -r . $out/share/wordpress
+ '';
+
+ passthru.tests = {
+ inherit (nixosTests) wordpress;
+ };
+
+ passthru.updateScript = writeScript "update.sh" ''
+ #!/usr/bin/env nix-shell
+ #!nix-shell -i bash -p common-updater-scripts jq
+ set -eu -o pipefail
+ version=$(curl --globoff "https://api.wordpress.org/core/version-check/1.7/" | jq -r '.offers[0].version')
+ update-source-version wordpress $version
+ '';
+
+ meta = with lib; {
+ homepage = "https://wordpress.org";
+ description = "WordPress is open source software you can use to create a beautiful website, blog, or app";
+ license = [ licenses.gpl2 ];
+ maintainers = [ maintainers.basvandijk ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b38969661a06..ee05731e5cf9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -37548,7 +37548,7 @@ with pkgs;
wmutils-opt = callPackage ../tools/X11/wmutils-opt { };
- wordpress = callPackage ../servers/web-apps/wordpress { };
+ inherit (callPackage ../servers/web-apps/wordpress {}) wordpress wordpress6_0 wordpress6_1;
wordpressPackages = ( callPackage ../servers/web-apps/wordpress/packages {
plugins = lib.importJSON ../servers/web-apps/wordpress/packages/plugins.json;