Skip to content

Run only the smoke test for content-only PRs - #695

Merged
richardhjtan merged 2 commits into
mainfrom
cs-10980-live-test-hit-timeout-in-ci-check
Aug 5, 2026
Merged

Run only the smoke test for content-only PRs#695
richardhjtan merged 2 commits into
mainfrom
cs-10980-live-test-hit-timeout-in-ci-check

Conversation

@richardhjtan

Copy link
Copy Markdown
Collaborator

The live-test job takes ~28 minutes, and ~17 of those are the mock-realm acceptance suites (browse / create / install / remix / use). Those suites exercise catalog-app/**, commands/**, and tests/** against fixture-built realms — listing content cannot change their outcome, since catalog-app never imports listing folders. Yet most PRs to this repo are pure listing submissions.

This adds a scope decision to the live-test job:

  • Content-only PRs (every changed file lives in a subdirectory outside the app-code paths — listing folders, taxonomy instances, screenshots) set LIVE_TEST_FILTER to run just the real-catalog-app smoke test plus the base-field-specs sanity check. The smoke test renders the actual realm serving the PR's content, so it is the test that guards shipped content — and the realm must still fully index everything before it runs, so catastrophic content breakage still fails the job. Expected duration: ~10 minutes instead of ~28.
  • Everything else runs the full suite: any file under catalog-app/, commands/, fields/, tests/, .github/, or at the repo root (conservative default for unclassified files), and every push to main — so a misclassified path is caught right after merge at the latest.

LIVE_TEST_FILTER is the QUnit filter passthrough added to the host's testem-live.js in cardstack/boxel#5693. Until that merges, the env var is ignored and the full suite runs — the two changes are safe to land in either order.

Classifier checked against recent history: #683 (listing submission) and #688 (listing quality pass) → smoke tier; #690 and #694 (test/app changes) → full suite. This PR itself touches .github/, so its own CI run exercises the full-suite branch of the decision.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 5, 2026 03:40
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Staging Submissions Preview

This PR's content is pushed to the staging submissions realm: https://realms-staging.stack.cards/submissions/

Changed folders:

  • .github/

Updated at 2026-08-05 05:45:41 UTC for commit 87c4d6c. Shared realm: only this PR's changed files are pushed; files touched by multiple PRs reflect whichever pushed last, and deleted files are not removed.

Copilot AI 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.

Pull request overview

This PR optimizes CI runtime by conditionally running a reduced “smoke tier” of the live tests for PRs that only change catalog content (e.g., listings, taxonomy instances, screenshots), while keeping the full live-test suite for app-code changes and for pushes to main.

Changes:

  • Add a “Decide test scope” step that classifies PRs as content-only vs full-suite based on changed file paths.
  • When classified as content-only, set LIVE_TEST_FILTER to run only the real-catalog-app smoke test plus the base-field-specs sanity check.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/ci-test.yaml
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@richardhjtan
richardhjtan merged commit a5a3d88 into main Aug 5, 2026
3 checks passed
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.

2 participants