diff options
| author | Jonas Heinrich <onny@project-insanity.org> | 2023-01-05 14:25:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-05 14:25:02 +0100 |
| commit | 20f0e0b16b4c69d5c96833a8672c9f1e9042b4ee (patch) | |
| tree | c05936175898605962508a931d15c7af4aabdfec | |
| parent | Merge pull request #209027 from NixOS/backport-206390-to-release-22.11 (diff) | |
| parent | nixosTests.wordpress: iterate over versions (diff) | |
| download | nixpkgs-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.nix | 34 | ||||
| -rw-r--r-- | pkgs/servers/web-apps/wordpress/default.nix | 41 | ||||
| -rw-r--r-- | pkgs/servers/web-apps/wordpress/generic.nix | 36 | ||||
| -rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
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; |
