forked from genewildish/Mainline
CI: Benchmarking task runs during code coverage test causing interference #36
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
mise run citask runstest-cov, which executespytest --cov=engine. This runs all tests, including@pytest.mark.benchmarktests intests/test_benchmark.py.This causes:
Current State
mise.tomlline 53:ci = { run = "mise run topics-init && mise run lint && mise run test-cov", depends = [...] }pyproject.tomldefines@pytest.mark.benchmarkmarkertest-covcommandProposed Solution
test-cov: Modifytest-covto exclude benchmark tests using-m "not benchmark"benchmarktask tomise.tomlfor explicit benchmark executioncitask to run benchmarks in a separate step after coverageFiles to Modify
mise.toml: Updatetest-covand addbenchmarktaskpyproject.toml: Ensure benchmark marker is properly configuredAcceptance Criteria
mise run test-covexcludes benchmark testsmise run benchmarkruns only benchmark testsmise run ciruns coverage, then benchmarks in sequenceRoot Cause Identified (2026-03-18)
The issue is NOT that benchmarks run during
test-cov- they already don't! Line 13 inmise.toml:The
-m "not benchmark"already excludes benchmarks from coverage runs.The Actual Problem
Line 54 in
mise.tomlhas a configuration error:This runs everything TWICE:
dependsruns the tasks:topics-init,lint,test-cov,benchmarkrunruns the commands again:mise run topics-init && ...Fix Required
The
citask should EITHER usedependsORrun, not both. Recommended fix:(Remove the redundant
dependslist)Or alternatively:
(But this doesn't print which tasks are running)
We'll implement the first option - just use
runwithoutdepends.Should we proceed with fixing this in Phase 4 (Benchmarking improvements)?