fix: green the fork's remaining CI test shards (test 2/5/6) - #250
Merged
Merged
Conversation
A fork-only `.dockerignore` entry excluded the top-level LICENSE ("not needed
inside the container"), but tests/test_docker_webui_install_surface.py
(test_docker_context_includes_license_file) requires the license to ship in the
build context — and an image should carry its own license anyway. Drop the entry.
Co-Authored-By: Claude Code <noreply@anthropic.com>
optional-mcps/unreal-engine/manifest.yaml ships on disk, but pyproject's [tool.setuptools.data-files] only declared linear and n8n, so the wheel/sdist dropped it. tests/test_packaging_metadata.py enforces one target per optional-mcps/<name>; add the missing unreal-engine target. Co-Authored-By: Claude Code <noreply@anthropic.com>
The fork added anthropic/claude-fable-5 to OPENROUTER_MODELS / _PROVIDER_MODELS but never rebuilt the published catalog, so tests/hermes_cli/test_model_catalog.py (test_in_repo_lists_match_manifest) saw website/static/api/model-catalog.json out of sync. Regenerated via scripts/build_model_catalog.py (deterministic; no network). Co-Authored-By: Claude Code <noreply@anthropic.com>
The v0.17.0 upstream merge brought two tests for surfaces the fork has deliberately evolved away from: - test_sidecar_session_create_scopes_profile expects web/ ChatSidebar.tsx to pass a dashboard `profile` to session.create; the fork's ChatSidebar (its own reasoning-effort picker / session switcher, 142+/200- vs upstream) has no profile switcher to scope. - test_npm_audit_fix_hint_avoids_crashing_workspace_flag expects an npm-audit-per-workspace doctor check the fork's managed-scope doctor doesn't implement. xfail (non-strict, documented) rather than port upstream features into deliberately-diverged, locally-untestable surfaces. Remove the marker if the fork adopts either feature. Co-Authored-By: Claude Code <noreply@anthropic.com>
🔎 Lint report:
|
| Rule | Count |
|---|---|
unresolved-attribute |
2 |
unresolved-import |
1 |
First entries
tests/test_dashboard_sidecar_close_on_disconnect.py:4: [unresolved-import] unresolved-import: Cannot resolve imported module `pytest`
tests/run_agent/test_credits_notices_toggle.py:76: [unresolved-attribute] unresolved-attribute: Unresolved attribute `_credits_session_start_micros` on type `AIAgent`
run_agent.py:3004: [unresolved-attribute] unresolved-attribute: Object of type `Self@get_credits_spent_micros` has no attribute `_credits_session_start_micros`
✅ Fixed issues (1):
| Rule | Count |
|---|---|
invalid-assignment |
1 |
First entries
tests/run_agent/test_credits_notices_toggle.py:76: [invalid-assignment] invalid-assignment: Object of type `None` is not assignable to attribute `_credits_session_start_micros` of type `int`
Unchanged: 5711 pre-existing issues carried over.
Diagnostics are surfaced as warnings — this check never fails the build.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Greens the last 3 red CI checks — the
test (2),test (5),test (6)shards. After #247 (lockfile) and #248 (pytest-timeout) let the Python suite actually run, 5 real failures surfaced across those shards — all fork-specific drift the earlier failures had masked. This fixes all 5.test_docker_context_includes_license_file.dockerignoreline excludedLICENSE(upstream has none)test_optional_mcps_manifests_ship_in_both_wheel_and_sdistoptional-mcps/unreal-engine/manifest.yamlon disk, no[tool.setuptools.data-files]targettest_in_repo_lists_match_manifestclaude-fable-5added to model lists,model-catalog.jsonnot rebuilttest_sidecar_session_create_scopes_profileweb/ChatSidebar.tsxdiverged (no profile switcher)xfailtest_npm_audit_fix_hint_avoids_crashing_workspace_flagdoctor.pydiverged (managed-scope, no npm-audit-workspace)xfailNone were introduced here — they're pre-existing fork drift, unmasked once the suite could run.
Related Issue
Final follow-up to the fork-CI repair series (#247, #248). This takes the fork from 3 red checks to green.
Type of Change
Changes Made
.dockerignore— remove the fork-addedLICENSEexclusion so the image ships its license (and the test passes).pyproject.toml— add"optional-mcps/unreal-engine" = ["optional-mcps/unreal-engine/manifest.yaml"].website/static/api/model-catalog.json— regenerate viascripts/build_model_catalog.py(addsanthropic/claude-fable-5; the script reads in-repo lists, no network).tests/hermes_cli/test_doctor.py,tests/test_dashboard_sidecar_close_on_disconnect.py—@pytest.mark.xfail(non-strict) with documented reasons for two upstream tests whose surfaces the fork has deliberately diverged (web ChatSidebar 142+/200− vs upstream; doctor evolved toward managed-scope). Porting upstream features into those locally-untestable, intentionally-diverged surfaces is out of scope; the marker XPASSes cleanly if the fork later adopts them.How to Test
Local result: 3 passed, 2 xfailed, 0 failed. The per-shard failure counts from the #248 run (test 2 = 3, test 5 = 1, test 6 = 1) are fully accounted for here.
Checklist
Code
fix(docker),fix(packaging),chore(catalog),test:)uv lock --checkunaffected (no dependency change)Documentation & Housekeeping
Screenshots / Logs
Before (from #248's run):
test (2)3 failed,test (5)1 failed,test (6)1 failed. After (local): the same five tests → 3 passed, 2 xfailed. CI on this PR is the real check.