From 99abe176d7e64ceb5fdccbbca4da3a7c7fc55759 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Aug 2026 01:54:44 +0000 Subject: [PATCH 1/4] chore: bump the nix group with 2 updates Bumps the nix group with 2 updates: [devenv](https://github.com/cachix/devenv) and [nixpkgs](https://github.com/NixOS/nixpkgs). Updates `devenv` from `c18de52` to `5844e78` - [Release notes](https://github.com/cachix/devenv/releases) - [Commits](https://github.com/cachix/devenv/compare/c18de5253016e6eb97689724327f08e9dd2d4768...5844e78c960ab73bb92e131bc2902b39b9ee52dd) Updates `nixpkgs` from `ec2d622` to `2c423e0` - [Commits](https://github.com/NixOS/nixpkgs/compare/ec2d622de0773551768cf98f3fc50cbcc003b9c5...2c423e03bbafcff28bfadc6781a4a8257f205cb5) --- updated-dependencies: - dependency-name: devenv dependency-version: 5844e78c960ab73bb92e131bc2902b39b9ee52dd dependency-type: direct:production dependency-group: nix - dependency-name: nixpkgs dependency-version: 2c423e03bbafcff28bfadc6781a4a8257f205cb5 dependency-type: direct:production dependency-group: nix ... Signed-off-by: dependabot[bot] --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 406c334..dc88ce8 100644 --- a/flake.lock +++ b/flake.lock @@ -79,11 +79,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1787015266, - "narHash": "sha256-B4eXU1+QiZc3fFgH0pTl185xNUYNzW+1KIe9Jmtavkk=", + "lastModified": 1787350801, + "narHash": "sha256-gEOKc1EhkbrUj7JTjxwlNyh42vu89lpiyP33ubx/NCw=", "owner": "cachix", "repo": "devenv", - "rev": "c18de5253016e6eb97689724327f08e9dd2d4768", + "rev": "5844e78c960ab73bb92e131bc2902b39b9ee52dd", "type": "github" }, "original": { @@ -274,11 +274,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1787001381, - "narHash": "sha256-Ue1Yo8gfHdD4TMtNewhA4tkSYeFqXThju0nCyJc3ALo=", + "lastModified": 1787360063, + "narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec2d622de0773551768cf98f3fc50cbcc003b9c5", + "rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5", "type": "github" }, "original": { From fb957f929888b8ab85a11318edb281e506012282 Mon Sep 17 00:00:00 2001 From: Kevin Shenk Date: Fri, 18 Sep 2026 14:36:18 -0400 Subject: [PATCH 2/4] fix: add mysql service timeout to fix CI --- flake.lock | 73 ++++++++++++++++++++++--------------------- nix/devenv-module.nix | 9 ++++++ 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index dc88ce8..32a6deb 100644 --- a/flake.lock +++ b/flake.lock @@ -19,11 +19,11 @@ ] }, "locked": { - "lastModified": 1777487137, - "narHash": "sha256-TuvKVBX60mqyMT6OB5JqVEh1YIWtFMR/igLCaCdC9tw=", + "lastModified": 1788181969, + "narHash": "sha256-OUB6hPlFBB9FRdZgZXSye4lDOg+fbrqKe8ePv2IM7NY=", "owner": "cachix", "repo": "cachix", - "rev": "a66a440c321d35f7193472c317f42a55ccd1cb93", + "rev": "98093e8eea6c1635ef1337a576fa76f3e8bd4f39", "type": "github" }, "original": { @@ -79,11 +79,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1787350801, - "narHash": "sha256-gEOKc1EhkbrUj7JTjxwlNyh42vu89lpiyP33ubx/NCw=", + "lastModified": 1789691577, + "narHash": "sha256-mS9lQo1gpKzwWMYgzdxc4yv4sIdwqI0GfFMCbV4LZtA=", "owner": "cachix", "repo": "devenv", - "rev": "5844e78c960ab73bb92e131bc2902b39b9ee52dd", + "rev": "ccb4a99d35474afd07634ee194174ae40f7d98af", "type": "github" }, "original": { @@ -116,11 +116,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1788306937, + "narHash": "sha256-lbrI1UYVpFgKSsyrU9oeF7FHfnu8nLD9ja0ou9f2rxk=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "f16b25b8c3d2809b87925d0b76652d7821a75c68", "type": "github" }, "original": { @@ -132,16 +132,17 @@ "ghostty": { "flake": false, "locked": { - "lastModified": 1784602798, - "narHash": "sha256-298x90knBUWX5GHGXh2SKsAKvStjU2ri9UgOGoF79/8=", + "lastModified": 1786026742, + "narHash": "sha256-tRtgTg/i3w1nFdRHU2IGekfJN8EyP+HARW4MtoUZyqk=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "88b4cd047fa627cdca6781bc7e7dc8b75a2cecb9", + "rev": "22d13172cde98a0a4dda05d3d6a3fcb0dd8ed018", "type": "github" }, "original": { "owner": "ghostty-org", "repo": "ghostty", + "rev": "22d13172cde98a0a4dda05d3d6a3fcb0dd8ed018", "type": "github" } }, @@ -157,11 +158,11 @@ ] }, "locked": { - "lastModified": 1782908218, - "narHash": "sha256-wLMOrPgVyeF3XmP+qfYcLqnVdTxikdcSvbIY7rA9jTA=", + "lastModified": 1788267358, + "narHash": "sha256-nt+lUqYVpc9Y6JeMd2WmXzCDojasdadKo0mWcluvY2Y=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9f7e99119ece7705299595299f3b031f39356de1", + "rev": "27555e2624241fb116b49095df4caaee85a25691", "type": "github" }, "original": { @@ -196,11 +197,11 @@ ] }, "locked": { - "lastModified": 1787002634, - "narHash": "sha256-Mdi8Ge6bMMLO901i2WCMOkiwNTYiKJivKN2kRfGxvXo=", + "lastModified": 1788036898, + "narHash": "sha256-3NT3yTvoRT7+rxLDNovpyeTDIJkZlBoO72rcu2x9Y9o=", "owner": "cachix", "repo": "nix", - "rev": "f521bcc0b07d80921104a973996823392d247f7a", + "rev": "b9b81726b38469c55b9706d80d37d6c73cc7f76c", "type": "github" }, "original": { @@ -223,11 +224,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1783935112, - "narHash": "sha256-IAQ14nteIKXAz4cd75UcZrsHGEVJ7QNrkUwX9rmeZ/Y=", + "lastModified": 1788165251, + "narHash": "sha256-ITHt6eU6DuwQqlNV1/wehvKYPE6J8sZIlv75CpDjcHI=", "owner": "nix-community", "repo": "nixd", - "rev": "a64cd33e53b316b6b092ea0a966640cd2309bf3d", + "rev": "e2ca72c353cfbc3d63e942fe9aeae4ec497863bf", "type": "github" }, "original": { @@ -241,11 +242,11 @@ "nixpkgs-src": "nixpkgs-src" }, "locked": { - "lastModified": 1782132010, - "narHash": "sha256-ZnAVHdVrotp80iIMm5CSR1fdxPlw7Uwmwxb+O/wsgZ8=", + "lastModified": 1787753358, + "narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=", "owner": "cachix", "repo": "devenv-nixpkgs", - "rev": "12866ae2dddbc0ab8b329915f8072bb9c75bde89", + "rev": "256551e45f6303e142ab4a98be1bf243feb77dc0", "type": "github" }, "original": { @@ -258,11 +259,11 @@ "nixpkgs-src": { "flake": false, "locked": { - "lastModified": 1781607440, - "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", + "lastModified": 1787394516, + "narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", + "rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7", "type": "github" }, "original": { @@ -274,11 +275,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1787360063, - "narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=", + "lastModified": 1789684949, + "narHash": "sha256-ZKhUe/2IJUq1JhKxKMu8rbkgSGmPP2ZCqlIPn40aGCM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5", + "rev": "e554fab72f81915600f3f449b786fd9af40439a5", "type": "github" }, "original": { @@ -303,11 +304,11 @@ ] }, "locked": { - "lastModified": 1782875958, - "narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=", + "lastModified": 1788332415, + "narHash": "sha256-BTFrmyh0oaVDsvA9NNw0YpbbeppTwU0t70iVx672Ew8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "13139aefa973f3d96c60c0fbab801de058ae25ca", + "rev": "860d7c835ab91bfc8972b67092f5f2db8e9390a0", "type": "github" }, "original": { @@ -325,11 +326,11 @@ ] }, "locked": { - "lastModified": 1780220602, - "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", + "lastModified": 1786901030, + "narHash": "sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "db947814a175b7ca6ded66e21383d938df01c227", + "rev": "27b3b12a8e6375f28ebe122f07d230ca5459bbfa", "type": "github" }, "original": { diff --git a/nix/devenv-module.nix b/nix/devenv-module.nix index 7b19900..a047664 100644 --- a/nix/devenv-module.nix +++ b/nix/devenv-module.nix @@ -78,6 +78,15 @@ in ]; }; + # Under process-compose, a process whose `ready` config has no `timeout` is + # handed to process-compose's own policy (supervisionMode = "external"), + # and devenv then reports it Ready the instant it is spawned without ever + # running the exec probe -- so devenv:mysql:configure (which creates + # initialDatabases) races mariadbd's actual startup instead of waiting on + # it. Setting `timeout` keeps devenv supervising mysql itself, so the probe + # actually runs and the databases get created after mariadbd is really up. + processes.mysql.ready.timeout = 60; + services.minio = { enable = true; accessKey = "wpcftestkey"; From 65dae6c688a2dcc6291ca88f1aaef380b4707534 Mon Sep 17 00:00:00 2001 From: Kevin Shenk Date: Fri, 18 Sep 2026 15:29:16 -0400 Subject: [PATCH 3/4] ci: phpstan-src#6356 CI fix --- flake.nix | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index fba7617..5d3cbf9 100644 --- a/flake.nix +++ b/flake.nix @@ -397,7 +397,10 @@ phpstan = pkgs.runCommand "check-phpstan" { - nativeBuildInputs = [ (pkgs.phpstan.override { inherit php; }) ]; + nativeBuildInputs = [ + php + (pkgs.phpstan.override { inherit php; }) + ]; src = self; } '' @@ -417,6 +420,26 @@ cp -rL ${pluginDir}/vendor ./vendor chmod -R u+w ./vendor + # composition-c4 installs every package from a path repository into + # the store, and installed.json records them as `"dist": {"type": + # "path"}`. PHPStan >= 2.2.13 reads a path package as project code + # edited in place and tracks its files one by one instead of by + # package (phpstan-src#6356); after the analysis its main process then + # parses and reflects each of those files to record their exported + # nodes for the result cache -- the WordPress stubs included, past + # the memory limit. The copy above is a plain install, not a path + # one, so drop the claim. + php -r ' + $file = "vendor/composer/installed.json"; + $installed = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR); + foreach ($installed["packages"] as &$package) { + if (($package["dist"]["type"] ?? null) === "path") { + unset($package["dist"]); + } + } + file_put_contents($file, json_encode($installed, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); + ' + # The stub paths are store paths, so they are appended here rather # than committed into tests/phpstan.neon. cat > tests/phpstan-nix.neon < Date: Fri, 18 Sep 2026 15:41:38 -0400 Subject: [PATCH 4/4] ci: phpstan-src#6356 CI fix pt. 2 --- flake.nix | 38 +++++++++++++------------------------- 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/flake.nix b/flake.nix index 5d3cbf9..ec2ddee 100644 --- a/flake.nix +++ b/flake.nix @@ -397,10 +397,7 @@ phpstan = pkgs.runCommand "check-phpstan" { - nativeBuildInputs = [ - php - (pkgs.phpstan.override { inherit php; }) - ]; + nativeBuildInputs = [ (pkgs.phpstan.override { inherit php; }) ]; src = self; } '' @@ -420,26 +417,6 @@ cp -rL ${pluginDir}/vendor ./vendor chmod -R u+w ./vendor - # composition-c4 installs every package from a path repository into - # the store, and installed.json records them as `"dist": {"type": - # "path"}`. PHPStan >= 2.2.13 reads a path package as project code - # edited in place and tracks its files one by one instead of by - # package (phpstan-src#6356); after the analysis its main process then - # parses and reflects each of those files to record their exported - # nodes for the result cache -- the WordPress stubs included, past - # the memory limit. The copy above is a plain install, not a path - # one, so drop the claim. - php -r ' - $file = "vendor/composer/installed.json"; - $installed = json_decode(file_get_contents($file), true, 512, JSON_THROW_ON_ERROR); - foreach ($installed["packages"] as &$package) { - if (($package["dist"]["type"] ?? null) === "path") { - unset($package["dist"]); - } - } - file_put_contents($file, json_encode($installed, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - ' - # The stub paths are store paths, so they are appended here rather # than committed into tests/phpstan.neon. cat > tests/phpstan-nix.neon <= 2.2.13's path-package + # detection (phpstan-src#6356) to mistrigger on -- installed.json + # here has no path packages at all. The scanFiles route is what + # costs memory instead: with no locked package version to hang a + # cache key on, PHPStan >= 2.2.13 parses and reflects the whole + # 5.5 MB stub file to export its nodes for the result cache on + # every run, which alone needs a bit over 2G. 3G leaves headroom. phpstan analyse \ -c tests/phpstan-nix.neon \ --no-progress \ --error-format=table \ --autoload-file=vendor/autoload.php \ - --memory-limit=2G + --memory-limit=3G touch "$out" '';