Add E2E registry fixture for hello-world installs - #41
Conversation
- Package the hello-world example for archive-backed setup - Seed panel registry cache for deterministic install tests - Add Composer test scripts and refresh lock metadata
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (21)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🤖 Augment PR SummarySummary: This PR adds an E2E “local registry” fixture to make hello-world installs deterministic in browser-based end-to-end tests. Changes:
Technical Notes: Registry installs validate the downloaded archive against the seeded SHA-256 to ensure the E2E flow is reproducible. 🤖 Was this summary useful? React with 👍 or 👎 |
| php -r 'require "vendor/autoload.php"; \Notur\Support\NoturArchive::pack("/tmp/hello-world-src", "/tmp/hello-world.notur");' | ||
| mkdir -p public/notur/e2e-registry storage/notur | ||
| cp /tmp/hello-world.notur public/notur/e2e-registry/hello-world.notur | ||
| php -r '$archive="/tmp/hello-world.notur"; $registry=["fetched_at"=>gmdate("Y-m-d\\TH:i:s\\Z"), "registry"=>["version"=>"1.0.0", "extensions"=>[["id"=>"notur/hello-world", "name"=>"Hello World", "description"=>"E2E registry fixture for archive-backed installs.", "version"=>"1.0.0", "archive_url"=>"http://127.0.0.1/notur/e2e-registry/hello-world.notur", "sha256"=>hash_file("sha256", $archive), "tags"=>["e2e", "fixture"]]]]]; file_put_contents("storage/notur/registry-cache.json", json_encode($registry, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL);' |
There was a problem hiding this comment.
docker/e2e/setup-panel.sh:62 — This php -r one-liner doesn’t check whether hash_file() or file_put_contents() fails, so the script can continue with a missing/invalid registry-cache.json and cause later E2E steps to fail non-deterministically.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| @@ -0,0 +1,21 @@ | |||
| { | |||
There was a problem hiding this comment.
checksums.json:1 — This appears to be an archive-generated checksums.json (paths like src/..., extension.yaml, etc.) committed at the repository root; is this meant to live somewhere else (e.g., within an extension) rather than being checked in here?
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| @@ -0,0 +1 @@ | |||
| ../acorn/bin/acorn No newline at end of file | |||
There was a problem hiding this comment.
examples/hello-world/node_modules/.bin/acorn:1 — Committing examples/hello-world/node_modules/** introduces a very large vendored dependency tree (often OS-specific symlinks), which can significantly bloat the repo and make checkouts/tests less reliable across platforms; worth double-checking this is intentional.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| rm -rf /tmp/hello-world-src /tmp/hello-world.notur | ||
| cp -R /opt/notur/examples/hello-world /tmp/hello-world-src | ||
| php -r 'require "vendor/autoload.php"; \Notur\Support\NoturArchive::pack("/tmp/hello-world-src", "/tmp/hello-world.notur");' | ||
| mkdir -p public/notur/e2e-registry storage/notur |
There was a problem hiding this comment.
docker/e2e/setup-panel.sh:60 — General note (not tied to this specific line): the PR includes a test.txt.rej file that looks like an accidental patch-reject artifact; I couldn’t anchor an inline comment directly on that file via the review API, but it’s worth double-checking it’s intentional to keep in the repo.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
- Replace inline PHP with error-checked registry cache generation - Remove generated checksum and example node_modules artifacts
Summary
hello-worldexample frompublic/notur/e2e-registryand writes a cached registry response for archive-backed installs.Testing
docker/e2e/setup-panel.shto createpublic/notur/e2e-registry/hello-world.noturandstorage/notur/registry-cache.json.archive_urlandsha256fields for the hello-world extension.