Squally and Currents.
Side by side, area by area.

As of 12 November 2026, based on public documentation.

Squally

Squally is a hosted service that collects Playwright results from CI through its own reporter and shows runs, tests, errors and pull requests, with flaky and failure rates per test.

Currents

Currents is a hosted reporter, dashboard and test orchestrator for Playwright, with reporters for Jest, the Node.js test runner and Cypress and a JUnit XML upload for other frameworks.

At a glance

✓ documented and available · ✗ not offered · Partial: with documented limits · Not documented: not found in the public documentation.

AreaSquallyCurrents
SetupSquallyYesPlaywright reporter; results arrive while the suite runsCurrentsYes@currents/playwright reporter or the pwc command
Hosting and data locationSquallyHosted in the EU (Frankfurt)CurrentsDocumented region: AWS us-east-1 (USA)
Self-hostingSquallyNoNot offeredCurrentsPartialDocker Compose and Helm deployment repositories; container images through Currents
Flaky test detectionSquallyYesRetry-based per run; flaky rate per testCurrentsYesRetry-based: did not pass on the first attempt; quarantine rules
History and retentionSquallyYesRuns 30, 60 or 90 days by plan; artifacts 7 or 21 daysCurrentsYesSet per data type: results, test details, artifacts, analytics
Pull requests and GitHubSquallyYesGitHub App: a check per commit, an optional pull request comment, a Pull requests pageCurrentsYesGitHub App: commit status, pull request comment, optional inline comments
GitHub permissionsSquallyChecks: read and write · Pull requests: read and write · Metadata: read-only (mandatory) · Organization members: read-only · No access to repository contents (code)CurrentsIssues: read and write · Pull requests: read and write · Commit statuses: read and write · Metadata: read
Error groupingSquallyYesFingerprint of the normalised error message and the test fileCurrentsYesErrors classified by category, action and target
Traces, screenshots and videoSquallyPartialScreenshots, Playwright traces and the browser console; no videoCurrentsYesScreenshots, videos, traces and terminal output
API and MCPSquallyYesRead-only REST API; local MCP server with 7 read-only tools (Standard and Pro)CurrentsYesREST API (read-only or read and write keys), webhooks, hosted and local MCP server
Test managementSquallyNoNot offeredCurrentsNot documentedRules to skip, quarantine or tag tests
FrameworksSquallyPlaywrightCurrentsPlaywright, Jest, Node.js test runner, Cypress; JUnit XML upload (for example Vitest)
Notifications and reportsSquallyYesSlack, weekly email report, printable run reportCurrentsYesSlack, Microsoft Teams, scheduled reports, Jira, Linear

Area by area

Setup

Squally

You add the npm package squally-reporter as one line in playwright.config.ts and store the project's ingest key as a CI secret. Results arrive while the suite runs, with no upload step afterwards; it needs @playwright/test 1.30 or later and Node 20.18.1 or later.

Runs are recognised on GitHub Actions, GitLab CI, Azure Pipelines, Jenkins, Buildkite, Travis CI and Drone, and the shards of one CI run become one run.

Currents

@currents/playwright is added as a Playwright reporter, or the pwc command runs Playwright with it; a currents.config.ts holds the record key and project ID. Parallel CI machines join one run through a shared CI build ID.

The CI guides cover GitHub Actions, GitLab, Jenkins, CircleCI, Buildkite, Azure DevOps, AWS CodeBuild, Harness and Nx. The same package includes pwc-p, which hands spec files to idle CI machines from a shared queue.

Hosting and data location

Guide: EU-hosted Playwright reporting and GDPR

Squally

Squally is a hosted service. It is hosted in the EU (Frankfurt).

The privacy policy lists the providers involved and what each one processes.

Currents

Currents documents its hosting on AWS in the us-east-1 region (USA). Its sub-processor list names providers in the U.S., including OpenAI and Anthropic while AI features are enabled.

Artifacts can be stored in a customer-owned S3-compatible bucket (“Bring your own storage”).

Self-hosting

Squally

Squally is offered as a hosted service. A self-hosted or on-premises edition is not offered.

Currents

Self-hosting is listed by the vendor. Public Docker Compose and Helm repositories describe the deployment.

The container images come from a private registry, with access through Currents, and MongoDB, ClickHouse, Redis and object storage are required.

Flaky test detection

Guide: How to detect flaky tests in Playwright

Squally

A test's result in a run counts as flaky when it failed first and then passed on a Playwright retry, so retries need to be turned on.

For each test and period, Squally shows runs, stability, flaky rate (flaky runs ÷ runs), failure rate and the CI time that retries and failures cost. Squally does not quarantine or skip tests.

Currents

Currents defines a flaky test as one that did not succeed on its first attempt, which requires retries. The Test Explorer shows a flakiness rate and its impact over time.

Quarantine is a rule (“Currents Actions”) with an expiry date.

History and retention

Squally

Runs and results are kept 30 days on the Free plan, 60 days on Standard and 90 days on Pro.

Screenshots, traces and browser consoles are kept 7 days for attempts that passed on the first try and 21 days for failures and retried tests, on every plan. Deletion runs once a day.

Currents

Retention is documented per data type: test results three months in hot and nine months in cold storage, test details 30 plus 60 days, artifacts 7 days for passed and 21 days for failed, flaky or quarantined tests, and analytics 12 months.

Per-plan figures differ between their pages; see their docs.

Pull requests and GitHub

Squally

A GitHub App posts a check on every commit, one per CI job, and, if switched on for the project, one comment per pull request that is updated with each run. The Pull requests page compares each pull request's runs with its target branch.

Runs from GitLab, Azure Repos and Bitbucket are collected as well; checks and comments are posted to GitHub.

Currents

The GitHub App sets a commit status, posts one run comment per pull request and can add inline comments on changed spec files; a Pull Requests view lists each pull request's runs.

GitLab gets merge request comments and commit statuses through an OAuth app with the api scope; Bitbucket gets the Pipelines build status.

GitHub permissions

Squally

Checks: read and write. Pull requests: read and write. Metadata: read-only (mandatory). Organization members: read-only, used while connecting to confirm that the person installing the app is an owner of the GitHub organization.

No access to repository contents (code).

Currents

The GitHub App requests Issues, Pull requests and Commit statuses (read and write) and Metadata (read).

Per their docs, changed-file names and diffs are read when inline comments are switched on; other source code is not read.

Error grouping

Squally

Failures are grouped by a fingerprint of the normalised error message and the test file, so one error can be followed across runs and tests.

The Error explorer shows each error's runs, tests, failed and flaky rate, first and last seen, and a category derived from the error text.

Currents

The Errors Explorer classifies each error into category, action and target and groups errors by any combination of these fields.

It shows occurrences, affected tests and affected branches.

Traces, screenshots and video

Squally

The reporter uploads screenshots, Playwright traces and the browser console; video is not uploaded.

A trace opens in Playwright's Trace Viewer (trace.playwright.dev) through a link that expires after ten minutes. Attempts that did not pass on the first try also carry their recorded steps.

Currents

The reporter uploads screenshots, videos, traces and terminal output.

Traces open in Playwright's Trace Viewer or through time-limited Trace API links, and the IDE extension has an inline trace viewer.

API and MCP

Squally

On the Standard and Pro plans: a read-only REST API with organization read keys, documented in OpenAPI, and the MCP server squally-mcp, which runs locally and offers 7 read-only tools.

On attempt and run pages, “Fix in your agent” builds a prompt for your own coding agent; Squally sends nothing to an AI provider. Outgoing webhooks and a write API are not offered.

Currents

A REST API with organization-wide read-only or read and write keys, HTTP webhooks for run events, and an MCP server, hosted or local, whose tools include write actions such as quarantine rules.

“Fix with AI” hands the failure context to your own coding agent.

Test management

Squally

Squally has no test case management, manual runs or test plans.

Currents

Currents Actions apply skip, quarantine and tag rules to selected tests.

Manual test case management is not documented.

Frameworks

Squally

Squally reads Playwright results through its own reporter. Other test frameworks are not supported.

Currents

Reporters exist for Playwright, Jest and the Node.js test runner, and packages for Cypress. Other frameworks, such as Vitest, send JUnit XML through an upload command.

Notifications and reports

Squally

A Slack message per CI run through an incoming webhook, and a weekly email report per project on the Standard and Pro plans.

A run report can be printed, saved as PDF or copied as Markdown. GitHub checks and pull request comments are described above.

Currents

A Slack app, Microsoft Teams through an incoming webhook, and scheduled reports by email or Slack.

Failures can be turned into Jira or Linear issues.

Sources

As of 12 November 2026, based on public documentation. Currents: its own documentation, product pages and repositories. Squally: its documentation and code. Something out of date or wrong? Write to support@squally.dev and we will correct it.

Squally

Currents

Currents is a trademark of its owner. Squally is not affiliated with, endorsed by or sponsored by the makers of Currents.