Skip to content

chore(domains,dns,http,queue): require Validators ^1.0 - #250

Merged
ChiragAgg5k merged 2 commits into
mainfrom
chore/validators-1-consumers
Sep 10, 2026
Merged

chore(domains,dns,http,queue): require Validators ^1.0#250
ChiragAgg5k merged 2 commits into
mainfrom
chore/validators-1-consumers

Conversation

@ChiragAgg5k

@ChiragAgg5k ChiragAgg5k commented Sep 10, 2026

Copy link
Copy Markdown
Member

Summary

Require Validators ^1.0 exclusively in Domains, DNS, HTTP, and Queue. Remove the older requirements and fallback ranges. No Composer version aliases or runtime compatibility overrides.

DNS's test Dockerfile now copies the dependencies already installed by the test runner. Its independent composer update used published Domains instead of the linked checkout, making dependent CI fail before a Domains release. The sample image now requires dependencies to be installed before building, as the monorepo runner already does.

Part of appwrite/appwrite#13575 and https://github.com/appwrite-labs/cloud/pull/5734. Storage already requires Validators 1.x; the closed #249 workaround was reverted. Each changed package needs a release after merge. Domains must release before DNS/Emails can install with registry-only resolution. Database is handled in utopia-php/database#963; Audit follows in #251.

Verification

PHP 8.5.10:

  • Domains with released Validators 1.0.1: 52 unit tests / 313 assertions passed. All 54 live registrar E2E tests skipped without credentials.
  • HTTP with released Validators 1.0.1: 122 unit tests / 358 assertions passed, one deprecation; local FPM/Swoole E2E 19 tests / 71 assertions passed. Initial fixture startup conflicted with another project's port 19501. Rerun used temporary ports 19620/19601 and HTTP_E2E_FPM_URL/HTTP_E2E_SWOOLE_URL; unrelated containers were untouched.
  • Queue with released Validators 1.0.1: 116 unit tests / 294 assertions passed with XDEBUG_MODE=off. Initial Xdebug-enabled host run exited 139. Queue Redis/NATS E2E was not run locally.
  • DNS: XDEBUG_MODE=off bin/monorepo test dns --linked: 181 unit tests / 596 assertions, local Docker E2E 34 tests / 304 assertions, passed. This uses the monorepo's existing linked-sibling test mode, not a published dependency graph.
  • DNS red/green: after updating its Validators requirement, linked unit tests passed but the original Dockerfile failed Composer resolution against published Domains. Reusing the resolved dependency directory made the same full command pass. Test containers were removed by the runner.
  • bin/monorepo check domains http queue and bin/monorepo check dns: Pint, PHPStan, Rector passed.
  • bin/monorepo validate and git diff --check: passed.

The runner uses --ignore-platform-reqs for installation. No package lockfiles or generated linked manifests are committed. Downstream CE/Cloud application verification remains blocked on other prerequisite releases. Backend-only; no screenshots apply. No merges, releases or deployments performed.

@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge, provided the documented package release order is followed.

Summary

  • Requires utopia-php/validators ^1.0 across the affected package manifests.
  • Removes the HTTP and Queue fallback compatibility with Validators 0.x.
  • Makes the DNS Docker fixture consume the host-installed vendor directory so linked sibling dependencies remain intact during tests.

Reviews (2) · Last reviewed commit: "fix(dns): use Validators 1 and resolved ..."

@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown

Benchmark results

dns — transport throughput (4 cores, 250 repeats x 20 workers x 3 domains per transport)

transport req/s ok p50 ms p95 p99 max
udp 17688.2 15000/15000 1 1 2 3
tcp 17488.92 15000/15000 1 1 2 4
doh 10590.07 15000/15000 1 3 4 8

http — Swoole modes (4 cores, 200 VUs, 20s/run)

workload mode req/s p95
ok a 14024.358353/s 30.88ms
ok b 14850.83519/s 29.77ms
io a 451.229091/s 853.93ms
io b 3344.063421/s 51.62ms
cpu a 3299.950137/s 164.39ms
cpu b 3116.172416/s 83.77ms

a = HYPERLOOP_A (process), b = HYPERLOOP_B (coroutine)

Shared CI runners — treat absolute numbers as rough, compare modes within a run. Commit 9e148e4.

@ChiragAgg5k
ChiragAgg5k requested a review from loks0n as a code owner September 10, 2026 08:30
@ChiragAgg5k ChiragAgg5k changed the title chore(domains,http,queue): require Validators ^1.0 chore(domains,dns,http,queue): require Validators ^1.0 Sep 10, 2026
@ChiragAgg5k
ChiragAgg5k merged commit 2708f3f into main Sep 10, 2026
10 checks passed
@ChiragAgg5k

Copy link
Copy Markdown
Member Author

Released from merged commit 2708f3f01559445e14ce47805ec50befb7631446:

All four Split workflows succeeded. Confirmed all four versions on Packagist with Validators ^1.0. Domains was published and indexed before tagging DNS. No application deployment performed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants