Hi, thanks for making pds.ls. It's a super handy tool.
I've been working on my own projects, and made a thing to help testing atproto apps without disrupting the main bluesky/community network. I feel like pds.ls is just on the edge of wanting an e2e test and I didn't see one, so here is a starting point.
This adds Playwright tests in e2e/, which open this commit's build against a local PDS and PLC directory (set up in snowglobe.yml), and a Tangled workflow to run them. They browse a PDS, a repo and its records, and sign in through the PDS to create and delete a record. No app code changes.
The workflow runs on every push and pull request, and takes 2 to 6 minutes. Adjust as desired.
Two parts are temporary, and I plan to remove both if this change is interesting:
- The sign-in test needs a CI step that runs
iptablesin a privileged container. The CI machine's firewall otherwise blocks the test network from reaching PDSls. - The workflow pins snowglobe 0.3.0 with an npm override, for a dependency bug.
Anyway, hope it is helpful and I'm happy to change anything, or to drop it if you don't want the extra layer of testing.