fix-failing-actionslisted
Install: claude install-skill mick-gsk/drift
# Fix Failing GitHub Actions
## When to Use
- A CI run on `main` or a PR is red
- The release workflow failed
- A security hygiene, repo-guard, or labeler job failed
- You see a failed status check in a pull request
- `gh run list` shows failed runs
## Drift-Specific Context
All workflows in this repo run on **Windows runners** (`windows-latest`) with PowerShell.
Python is resolved dynamically via `$env:PYTHON_BIN` (set by a resolver step).
CI steps use `make check` equivalents split into:
`ruff` → `mypy` → `pytest` → `drift analyze`.
Key workflows and their failure modes:
| Workflow | File | Common Failures |
|----------|------|-----------------|
| CI | `ci.yml` | pytest, mypy, ruff, `check_version.py`, `check_model_consistency.py` |
| Security Hygiene | `security-hygiene.yml` | detect-secrets, actionlint, zizmor, pip-audit |
| Release | `release.yml` | PSR version bump, PyPI publish, tag conflicts |
| Validate Release | `validate-release.yml` | SemVer format, CHANGELOG missing entry |
| Docs | `docs.yml` | mkdocs build error, broken links |
| Docker | `docker.yml` | build error, push credentials |
| Repo Guard | `repo-guard.yml` | `check_repo_hygiene.py` blocklist violation |
| Install Smoke | `install-smoke.yml` | pip install failure, CLI entry point missing |
| Doc Consistency | `doc-consistency.yml` | version mismatch in docs |
---
## Step 1: Identify the Failing Run
```bash
# List recent failed runs
gh run list --repo mick-gsk/drift --status failure --limit 10