Skip to content

ci(tests): skip Python suite on website-only PRs#935

Open
silversurfer562 wants to merge 3 commits into
mainfrom
claude/zealous-mendel-2af66e
Open

ci(tests): skip Python suite on website-only PRs#935
silversurfer562 wants to merge 3 commits into
mainfrom
claude/zealous-mendel-2af66e

Conversation

@silversurfer562

Copy link
Copy Markdown
Member

What

Website-only PRs (every changed file under website/) no longer run
the Python test suite. The website/ surface is continuously deployed
by Vercel and has no version or changelog of its own — a CSS/copy/page
change cannot affect a Python test outcome.

How

Extends the existing changes gate in tests.yml with a
website_only output (true when no file outside website/ changed).
The three full-suite jobs guard their pip-install + pytest steps:

  • test (slim matrix)
  • clock-tz (hostile-clock lanes)
  • coverage

Required-check safety

The required checks test (ubuntu-latest, 3.12) and coverage are
not skipped — the jobs still run and report green, with only their
heavy steps gated off. This avoids the "required check never runs →
MISSING → PR blocked forever" trap, exactly as the slim-matrix logic
already does for the required lane. All 240 tests/unit/ci/test_workflow_yaml.py
guard tests pass.

Scope notes

  • Cheap jobs (lint, platform-compat, code-quality, build) are
    left running — low value to gate, less surface to break a required
    check. Easy follow-up if desired.
  • This PR edits tests.yml, so its own run takes the full-matrix
    path (website_only=false). Exercising the website-only path live
    needs a follow-up website-only PR.

Also

  • website/CLAUDE.md documents the no-changelog policy (website-only →
    no changelog; package-affecting → root CHANGELOG.md, which the
    public /changelog page renders) and this CI behavior.

🤖 Generated with Claude Code

The `website/` surface is not the application — it is continuously
deployed by Vercel and has no version or changelog of its own. A
PR that touches only `website/` cannot affect the Python test
outcome, yet today it still runs the full pytest suite (slim
matrix + coverage + clock-tz).

Add a `website_only` output to the existing `changes` gate: true
when every changed file is under `website/`. The three full-suite
jobs (`test`, `clock-tz`, `coverage`) then guard their
pip-install + pytest steps on `website_only != 'true'`.

Required-check discipline: the jobs still RUN and report green
(only their heavy steps are skipped), so `test (ubuntu-latest,
3.12)` and `coverage` are never "missing" and the PR is not
blocked — same approach the slim matrix already uses for the
required lane. The cheap lint/platform-compat/code-quality jobs
are left as-is (low value to gate; less surface to get wrong).

Also adds website/CLAUDE.md documenting the no-changelog policy
and this CI behavior.

Note: this PR touches tests.yml, so its own run takes the full
matrix path (website_only=false) — the website-only path needs a
follow-up website-only PR to exercise live.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
attune-ai.dev Ready Ready Preview, Comment Jun 18, 2026 4:55pm
website Ready Ready Preview, Comment Jun 18, 2026 4:55pm

…iltered CI

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…review)

A PR can show draft=false / mergeStateStatus=CLEAN with all per-PR
checks green yet be "do not merge" — the validating job
(integration-auth) is keyless-by-design at the per-PR level and the
real-key validation is a separate scheduled/budget-capped job whose
failure never enters the merge rollup. Records the review-discipline
complement to the already-recorded bundled-CLI root-cause lesson.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant