Merge pull request #612 from athola/research-1.9.16 #4
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
| name: Ecosystem Tests (root tests/ suite) | |
| # Runs the root `tests/` suite on every PR. | |
| # | |
| # Why this workflow exists. `make test` shells out to run-plugin-tests.sh, which | |
| # iterates `plugins/*/` and runs one pytest process per plugin. It never sees | |
| # the root `tests/` directory. Neither did any other workflow. The suite that | |
| # checks the things no single plugin can check (that every skill across every | |
| # plugin states a trigger and a boundary; that plugin packages still import when | |
| # pytest runs from the repo root) was therefore in no gate at all, and 75 of its | |
| # assertions failed for months with nothing to report it. | |
| # | |
| # The suite is cross-cutting by nature: a skill added to any plugin is a new | |
| # parametrized case here. That is why the path filter is broad across plugins/ | |
| # rather than scoped to a language or directory. | |
| on: | |
| push: | |
| branches: [main, master] | |
| paths: | |
| - "plugins/**/SKILL.md" | |
| - "plugins/**/commands/**" | |
| - "plugins/**/agents/**" | |
| - "plugins/abstract/scripts/validate_budget.py" | |
| - "tests/**" | |
| - "conftest.py" | |
| - "pyproject.toml" | |
| - "Makefile" | |
| - ".github/workflows/ecosystem-tests.yml" | |
| pull_request: | |
| paths: | |
| - "plugins/**/SKILL.md" | |
| - "plugins/**/commands/**" | |
| - "plugins/**/agents/**" | |
| - "plugins/abstract/scripts/validate_budget.py" | |
| - "tests/**" | |
| - "conftest.py" | |
| - "pyproject.toml" | |
| - "Makefile" | |
| - ".github/workflows/ecosystem-tests.yml" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ecosystem-tests-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ecosystem-tests: | |
| name: root tests/ suite | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v8.3.2 | |
| - name: Run root ecosystem suite | |
| run: make test-ecosystem |