Remove Argos CI integration#7955
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
WalkthroughRemoves ChangesArgos CI removal and native Playwright screenshot migration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (8)
apps/docs/package.jsonapps/docs/playwright.config.tsapps/docs/tests/example.spec.tsapps/eclipse/package.jsonapps/eclipse/playwright.config.tsapps/eclipse/tests/example.spec.tspnpm-workspace.yamlturbo.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"]], |
There was a problem hiding this comment.
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"); |
There was a problem hiding this comment.
🧩 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/*' || trueRepository: 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"
fiRepository: 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 -20Repository: 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"
fiRepository: 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
Summary
Removes Argos CI integration from the web repository. This includes:
@argos-ci/playwrightfrom the pnpm workspace catalog, eclipse and docspackage.jsonfiles, andpnpm-lock.yamlapps/eclipse/playwright.config.tsandapps/docs/playwright.config.ts, replaced with standard Playwright reportersargosScreenshot()calls inapps/eclipse/tests/example.spec.tsandapps/docs/tests/example.spec.tsto Playwright's built-intoHaveScreenshot()ARGOS_TOKENfrom the build task env listWorkflow files (requires manual update)
The following workflow files also need
ARGOS_TOKENremoved, but the GH_TOKEN lacksworkflowspermission to push these changes. A maintainer with workflow write access should apply these edits:.github/workflows/eclipse-test.yml: Removeenv: ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}from the "Run Playwright tests" step.github/workflows/docs-test.yml: Removeenv: ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }}from the "Run Playwright tests" stepFiles changed
pnpm-workspace.yaml- removed@argos-ci/playwrightcatalog entrypnpm-lock.yaml- updated to remove argos packagesapps/eclipse/package.json- removed@argos-ci/playwrightdevDependencyapps/docs/package.json- removed@argos-ci/playwrightdevDependencyapps/eclipse/playwright.config.ts- removed Argos reporter, simplified reporter configapps/docs/playwright.config.ts- removed Argos reporter, simplified reporter configapps/eclipse/tests/example.spec.ts- replacedargosScreenshotwithtoHaveScreenshotapps/docs/tests/example.spec.ts- replacedargosScreenshotwithtoHaveScreenshotturbo.json- removedARGOS_TOKENfrom build envSummary by CodeRabbit
Tests
Chores