diff --git a/.github/workflows/macos-test.yml b/.github/workflows/macos-test.yml index 8e502d3f..88fc3843 100644 --- a/.github/workflows/macos-test.yml +++ b/.github/workflows/macos-test.yml @@ -2,19 +2,14 @@ name: macOS Test on: workflow_dispatch: + # Run on every push/PR to main/dev — NOT path-filtered. This is a branch- + # protection *required* check; a path filter makes it skip on unrelated PRs, + # which GitHub then parks as "Expected — waiting for status" forever, blocking + # the merge. Required checks must run on every PR to report a status. push: branches: [main, dev] - paths: - - 'setup.sh' - - 'src/aipass/*/apps/handlers/__init__.py' - - 'src/aipass/drone/cli.py' - - 'pyproject.toml' pull_request: - paths: - - 'setup.sh' - - 'src/aipass/*/apps/handlers/__init__.py' - - 'src/aipass/drone/cli.py' - - 'pyproject.toml' + branches: [main, dev] permissions: contents: read diff --git a/.github/workflows/windows-test.yml b/.github/workflows/windows-test.yml index f5d32e9c..7bba441e 100644 --- a/.github/workflows/windows-test.yml +++ b/.github/workflows/windows-test.yml @@ -2,19 +2,14 @@ name: Windows Test on: workflow_dispatch: + # Run on every push/PR to main/dev — NOT path-filtered. This is a branch- + # protection *required* check; a path filter makes it skip on unrelated PRs, + # which GitHub then parks as "Expected — waiting for status" forever, blocking + # the merge. Required checks must run on every PR to report a status. push: branches: [main, dev] - paths: - - 'setup.sh' - - 'src/aipass/*/apps/handlers/__init__.py' - - 'src/aipass/drone/cli.py' - - 'pyproject.toml' pull_request: - paths: - - 'setup.sh' - - 'src/aipass/*/apps/handlers/__init__.py' - - 'src/aipass/drone/cli.py' - - 'pyproject.toml' + branches: [main, dev] permissions: contents: read diff --git a/CHANGELOG.md b/CHANGELOG.md index 27482caf..9d8fbf64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -90,6 +90,15 @@ and this project uses [Calendar Versioning](https://calver.org/) in the format ### Fixed +- **`Windows Test` / `macOS Test` are no longer path-filtered — they were + stalling PRs as required checks.** Both workflows only triggered when + `setup.sh`/`drone/cli.py`/`handlers/__init__.py`/`pyproject.toml` changed, but + branch protection lists `windows-setup`/`macos-setup` as *required*. On any PR + that didn't touch those paths the workflows never ran, so GitHub parked the + required checks as "Expected — waiting for status" indefinitely, blocking the + merge (the tests themselves were green — they simply didn't fire). They now run + on every push/PR to main/dev, like the other required lanes. (A required check + must never be path-filtered.) - **`seedgo-audit` CI gate was red despite 100% local audits — four checkers validated the working tree instead of committed source.** CI audits a clean `git checkout` (tracked files only — git ships no empty or gitignored dirs),