Skip to content

Remove Argos CI integration#7955

Open
prisma-gremlin[bot] wants to merge 2 commits into
mainfrom
remove-argos-ci-integration
Open

Remove Argos CI integration#7955
prisma-gremlin[bot] wants to merge 2 commits into
mainfrom
remove-argos-ci-integration

Conversation

@prisma-gremlin

@prisma-gremlin prisma-gremlin Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Removes Argos CI integration from the web repository. This includes:

  • Dependencies: Removed @argos-ci/playwright from the pnpm workspace catalog, eclipse and docs package.json files, and pnpm-lock.yaml
  • Playwright configs: Removed Argos reporter import and configuration from apps/eclipse/playwright.config.ts and apps/docs/playwright.config.ts, replaced with standard Playwright reporters
  • Test specs: Converted argosScreenshot() calls in apps/eclipse/tests/example.spec.ts and apps/docs/tests/example.spec.ts to Playwright's built-in toHaveScreenshot()
  • turbo.json: Removed ARGOS_TOKEN from the build task env list

Workflow files (requires manual update)

The following workflow files also need ARGOS_TOKEN removed, but the GH_TOKEN lacks workflows permission to push these changes. A maintainer with workflow write access should apply these edits:

  • .github/workflows/eclipse-test.yml: Remove env: ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} from the "Run Playwright tests" step
  • .github/workflows/docs-test.yml: Remove env: ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} from the "Run Playwright tests" step

Files changed

  • pnpm-workspace.yaml - removed @argos-ci/playwright catalog entry
  • pnpm-lock.yaml - updated to remove argos packages
  • apps/eclipse/package.json - removed @argos-ci/playwright devDependency
  • apps/docs/package.json - removed @argos-ci/playwright devDependency
  • apps/eclipse/playwright.config.ts - removed Argos reporter, simplified reporter config
  • apps/docs/playwright.config.ts - removed Argos reporter, simplified reporter config
  • apps/eclipse/tests/example.spec.ts - replaced argosScreenshot with toHaveScreenshot
  • apps/docs/tests/example.spec.ts - replaced argosScreenshot with toHaveScreenshot
  • turbo.json - removed ARGOS_TOKEN from build env

Summary by CodeRabbit

  • Tests

    • Updated screenshot-based tests to use Playwright's native built-in screenshot comparison and assertion capabilities instead of external service integration
    • Removed integration with external CI reporter from test configurations across all test projects
  • Chores

    • Removed Argos CI service dependencies from the project
    • Updated build and project configuration to remove all Argos CI integration references

Remove @argos-ci/playwright dependency from pnpm workspace catalog,
eclipse and docs package.json files, and pnpm-lock.yaml.
Update Playwright configs to remove Argos reporter in favor of
standard Playwright reporters. Convert argosScreenshot calls in
test specs to Playwright's built-in toHaveScreenshot. Remove
ARGOS_TOKEN from turbo.json env list.

CI workflow files (.github/workflows/*-test.yml) also need the
ARGOS_TOKEN env var removed, but require workflow permissions
to push.
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Jun 17, 2026 11:47am
docs Ready Ready Preview, Comment Jun 17, 2026 11:47am
eclipse Ready Ready Preview, Comment Jun 17, 2026 11:47am
site Ready Ready Preview, Comment Jun 17, 2026 11:47am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Removes @argos-ci/playwright from the pnpm workspace catalog, both app package.json files, and the Turborepo ARGOS_TOKEN env allowlist. Both playwright.config.ts files are simplified to dot/list reporters, and both example specs replace argosScreenshot with Playwright's native toHaveScreenshot.

Changes

Argos CI removal and native Playwright screenshot migration

Layer / File(s) Summary
Workspace catalog and Turborepo env cleanup
pnpm-workspace.yaml, turbo.json
Removes the @argos-ci/playwright: ^6.4.1 catalog pin and removes ARGOS_TOKEN from the tasks.build.env allowlist.
Per-app dependency, config, and test migration
apps/docs/package.json, apps/docs/playwright.config.ts, apps/docs/tests/example.spec.ts, apps/eclipse/package.json, apps/eclipse/playwright.config.ts, apps/eclipse/tests/example.spec.ts
Removes @argos-ci/playwright from both apps' devDependencies, strips the createArgosReporterOptions import and ARGOS_TOKEN-conditional reporter block from both configs (leaving only dot on CI / list locally), and replaces argosScreenshot(page, "homepage") with expect(page).toHaveScreenshot("homepage.png") in both example specs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Remove Argos CI integration' directly and accurately summarizes the main objective of the changeset: removing Argos CI dependencies and configuration across multiple applications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/docs/playwright.config.ts`:
- Line 12: The Playwright configuration in playwright.config.ts has been updated
to remove Argos reporter usage, but the GitHub Actions workflows still inject
the ARGOS_TOKEN environment variable. Remove the ARGOS_TOKEN environment
variable injection from both `.github/workflows/docs-test.yml` and
`.github/workflows/eclipse-test.yml` to complete the Argos cleanup and avoid
unnecessarily exposing secrets in test jobs.

In `@apps/eclipse/tests/example.spec.ts`:
- Line 5: The test uses toHaveScreenshot("homepage.png") which requires baseline
snapshot files to be committed to the repository for CI to pass. Generate the
baseline snapshots locally by running the test in the Eclipse and Docs test
suites, which will create snapshot files in the directories
apps/eclipse/tests/example.spec.ts-snapshots/ and
apps/docs/tests/example.spec.ts-snapshots/ following the pattern
homepage-chromium.png or similar based on your environment, then commit these
generated snapshot files to the repository.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0f7fe65c-1a19-40fe-a957-216782823916

📥 Commits

Reviewing files that changed from the base of the PR and between 5460d79 and b4a3ebf.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (8)
  • apps/docs/package.json
  • apps/docs/playwright.config.ts
  • apps/docs/tests/example.spec.ts
  • apps/eclipse/package.json
  • apps/eclipse/playwright.config.ts
  • apps/eclipse/tests/example.spec.ts
  • pnpm-workspace.yaml
  • turbo.json
💤 Files with no reviewable changes (4)
  • apps/docs/package.json
  • apps/eclipse/package.json
  • turbo.json
  • pnpm-workspace.yaml

// Use "dot" reporter on CI, "list" otherwise (Playwright default).
process.env.CI ? ["dot"] : ["list"],
],
reporter: process.env.CI ? [["dot"]] : [["list"]],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Remove stale ARGOS_TOKEN from CI test jobs.

Line 12 removes Argos reporter/token usage, but the Playwright workflows still inject ARGOS_TOKEN (for Docs and Eclipse). Keeping an unused secret in test job env broadens secret exposure and leaves the Argos cleanup incomplete; please remove it from .github/workflows/docs-test.yml and .github/workflows/eclipse-test.yml.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/playwright.config.ts` at line 12, The Playwright configuration in
playwright.config.ts has been updated to remove Argos reporter usage, but the
GitHub Actions workflows still inject the ARGOS_TOKEN environment variable.
Remove the ARGOS_TOKEN environment variable injection from both
`.github/workflows/docs-test.yml` and `.github/workflows/eclipse-test.yml` to
complete the Argos cleanup and avoid unnecessarily exposing secrets in test
jobs.

test("screenshot homepage", async ({ page }) => {
await page.goto("/");
await argosScreenshot(page, "homepage");
await expect(page).toHaveScreenshot("homepage.png");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

for p in \
  "apps/eclipse/tests/example.spec.ts-snapshots/homepage-chromium-linux.png" \
  "apps/docs/tests/example.spec.ts-snapshots/homepage-chromium-linux.png"
do
  if [ -f "$p" ]; then
    echo "FOUND: $p"
  else
    echo "MISSING: $p"
  fi
done

echo "--- tracked snapshot files ---"
git ls-files 'apps/*/tests/*.spec.ts-snapshots/*' || true

Repository: prisma/web

Length of output: 246


🏁 Script executed:

# Verify the test file exists and check its content
if [ -f "apps/eclipse/tests/example.spec.ts" ]; then
  echo "=== Test file content ==="
  cat -n "apps/eclipse/tests/example.spec.ts"
else
  echo "Test file not found"
fi

Repository: prisma/web

Length of output: 305


🏁 Script executed:

# Check for any snapshot files that might exist
echo "=== Checking for any existing snapshot files ==="
find apps/eclipse/tests -name "*snapshot*" -o -name "*.png" 2>/dev/null || echo "No snapshot files found"

# Also check the exact directory structure
echo "=== Directory structure under apps/eclipse/tests ==="
find apps/eclipse/tests -type f 2>/dev/null | head -20

Repository: prisma/web

Length of output: 191


🏁 Script executed:

# Verify Playwright configuration and snapshot expectations
echo "=== Checking Playwright config ==="
find . -maxdepth 3 -name "playwright.config.*" -o -name "playwright.json" 2>/dev/null | xargs cat 2>/dev/null || echo "No Playwright config found"

Repository: prisma/web

Length of output: 2481


🏁 Script executed:

# Check if docs test file exists with same assertion
if [ -f "apps/docs/tests/example.spec.ts" ]; then
  echo "=== Docs test file found ==="
  cat -n "apps/docs/tests/example.spec.ts"
else
  echo "Docs test file not found at apps/docs/tests/example.spec.ts"
fi

Repository: prisma/web

Length of output: 308


Add and commit Playwright baseline snapshot(s) for the new assertion.

The test at line 5 uses toHaveScreenshot("homepage.png") which requires a baseline snapshot to be tracked in the repository. Without the committed baseline, the test will fail in CI. Both the Eclipse and Docs tests have this same requirement.

To fix this, generate the snapshot locally by running the test (which will create the baseline), then commit the resulting snapshot files. Playwright will automatically name them following the pattern homepage-chromium.png or similar depending on your test environment.

Expected snapshot locations:

  • apps/eclipse/tests/example.spec.ts-snapshots/
  • apps/docs/tests/example.spec.ts-snapshots/
🧰 Tools
🪛 GitHub Actions: Eclipse Tests / 0_Playwright Tests (Eclipse).txt

[error] 5-5: Playwright screenshot assertion failed (toHaveScreenshot). A snapshot doesn't exist at /home/runner/work/web/web/apps/eclipse/tests/example.spec.ts-snapshots/homepage-chromium-linux.png; writing actual. Expected tests/example.spec.ts-snapshots/homepage-chromium-linux.png, received test-results/example-screenshot-homepage-chromium/homepage-actual.png.

🪛 GitHub Actions: Eclipse Tests / Playwright Tests (Eclipse)

[error] 5-6: Playwright screenshot assertion failed (toHaveScreenshot). Snapshot does not exist at /home/runner/work/web/web/apps/eclipse/tests/example.spec.ts-snapshots/homepage-chromium-linux.png; Playwright wrote the actual screenshot to test-results/example-screenshot-homepage-chromium/homepage-actual.png.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/eclipse/tests/example.spec.ts` at line 5, The test uses
toHaveScreenshot("homepage.png") which requires baseline snapshot files to be
committed to the repository for CI to pass. Generate the baseline snapshots
locally by running the test in the Eclipse and Docs test suites, which will
create snapshot files in the directories
apps/eclipse/tests/example.spec.ts-snapshots/ and
apps/docs/tests/example.spec.ts-snapshots/ following the pattern
homepage-chromium.png or similar based on your environment, then commit these
generated snapshot files to the repository.

Source: Pipeline failures

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.

1 participant