fix(#213): name conversions by the original's full filename to end stem collisions #266
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| name: Lint (ruff) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| # Pinned so the gate is reproducible: a new ruff release cannot turn the | |
| # build red without an explicit bump here. | |
| - run: pip install "ruff==0.15.17" | |
| - run: ruff check . | |
| test: | |
| name: Tests (deterministic harnesses) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| # pandoc gives tests/test_ingest.sh a real docx converter; without it that | |
| # test self-skips its conversion assertions rather than failing. | |
| - run: sudo apt-get update && sudo apt-get install -y pandoc | |
| # Discover every tests/test_*.sh so a new harness is picked up automatically | |
| # (no hardcoded list to forget). pipefail+errexit (the default Actions bash | |
| # flags) make the step fail on the first failing harness. | |
| - name: deterministic shell harnesses | |
| run: | | |
| for t in tests/test_*.sh; do | |
| echo "::group::$t" | |
| bash "$t" | |
| echo "::endgroup::" | |
| done | |
| - name: clean-env plugin smoke (pipeline end-to-end) | |
| run: bash tests/smoke.sh | |
| unit: | |
| name: Unit tests (pytest) + golden | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| cache: pip | |
| cache-dependency-path: pyproject.toml | |
| - run: pip install -e ".[test]" | |
| - name: pytest (pure-function unit layer) | |
| run: pytest | |
| # The golden engine regression needs pyrewire (pulled in by the install | |
| # above); run it on a throwaway copy so the checkout stays clean. | |
| - name: golden engine regression | |
| run: | | |
| cp -r examples/sample-kb "${RUNNER_TEMP}/golden-kb" | |
| FACTLOG_ROOT="${RUNNER_TEMP}/golden-kb" bash tests/golden.sh |