Problem
Every CI check has failed on every push to main since run 39 (months). Four independent infrastructure bugs:
1. Hard-deprecated actions/upload-artifact@v3 (.github/workflows/ci.yml)
GitHub auto-fails any job referencing v3 at action-resolution time — lint-and-test died before running a single step.
Fix: bump upload-artifact and cache to v4.
2. Windows-only dependency breaks pip on Linux runners (requirements.txt)
pyaudiowpatch (WASAPI loopback patch) has no Linux wheels, so pip install -r requirements.txt failed on every ubuntu runner — killing code-quality and lint-and-test's install step.
Fix: platform marker pyaudiowpatch==0.2.12.7; sys_platform == "win32". Windows installs are unaffected.
3. check-cuda-compatibility never installed its imports (.github/workflows/gpu-compatibility.yml)
The check does from config import Config, and config.py imports torch and python-dotenv at module level — but the workflow only upgraded pip. ModuleNotFoundError: No module named 'torch' every run.
Fix: install python-dotenv and the CPU torch wheel (--index-url https://download.pytorch.org/whl/cpu; runners have no GPU).
4. Merge-conflict check false-positives + broken shell logic (.github/workflows/pre-commit.yml)
The grep ^(<<<<<<<|=======|>>>>>>>) matches any line starting with seven = — including the ASCII banner lines in README.md (lines 88/90). Worse, the if git grep ... || true; then makes the condition always truthy, so the step would exit 1 even with zero matches.
Fix: match exact conflict-marker shapes (<<<<<<< ref / ======= alone on a line / >>>>>>> ref) and drop the || true.
Status
All four fixed in PR #17.
Problem
Every CI check has failed on every push to
mainsince run 39 (months). Four independent infrastructure bugs:1. Hard-deprecated
actions/upload-artifact@v3(.github/workflows/ci.yml)GitHub auto-fails any job referencing v3 at action-resolution time —
lint-and-testdied before running a single step.Fix: bump
upload-artifactandcacheto v4.2. Windows-only dependency breaks pip on Linux runners (
requirements.txt)pyaudiowpatch(WASAPI loopback patch) has no Linux wheels, sopip install -r requirements.txtfailed on every ubuntu runner — killingcode-qualityandlint-and-test's install step.Fix: platform marker
pyaudiowpatch==0.2.12.7; sys_platform == "win32". Windows installs are unaffected.3.
check-cuda-compatibilitynever installed its imports (.github/workflows/gpu-compatibility.yml)The check does
from config import Config, andconfig.pyimportstorchandpython-dotenvat module level — but the workflow only upgraded pip.ModuleNotFoundError: No module named 'torch'every run.Fix: install
python-dotenvand the CPU torch wheel (--index-url https://download.pytorch.org/whl/cpu; runners have no GPU).4. Merge-conflict check false-positives + broken shell logic (
.github/workflows/pre-commit.yml)The grep
^(<<<<<<<|=======|>>>>>>>)matches any line starting with seven=— including the ASCII banner lines inREADME.md(lines 88/90). Worse, theif git grep ... || true; thenmakes the condition always truthy, so the step wouldexit 1even with zero matches.Fix: match exact conflict-marker shapes (
<<<<<<< ref/=======alone on a line />>>>>>> ref) and drop the|| true.Status
All four fixed in PR #17.