Repository navigation
docs: RSI 审计排序 1-4 项完成标记(round-23 epoch 4 首产 9/9) #64
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: Evolver CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Install dependencies | |
| run: uv sync --all-extras --dev | |
| - name: Lint with ruff | |
| run: uv run ruff check src tests | |
| - name: Format check with ruff | |
| run: uv run ruff format --check src tests | |
| - name: Type check with mypy | |
| run: uv run mypy src | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Install dependencies | |
| run: uv sync --all-extras --dev | |
| - name: Run tests (fast track) | |
| run: uv run pytest tests/ -v --tb=short -m "not slow" | |
| env: | |
| EVOLVER_NO_PARENT_GIT: "1" | |
| - name: Run evolver version check | |
| run: uv run evolver --version | |
| - name: Assert package version is 1.95.0 | |
| run: | | |
| uv run python -c "from evolver import __version__; assert __version__ == '1.95.0', __version__" | |
| uv run evolver --version | grep -F "1.95.0" | |
| - name: Run evolver run (dry check) | |
| run: uv run evolver run | |
| env: | |
| EVOLVER_NO_PARENT_GIT: "1" | |
| # Slow track (subprocess/E2E daemon tests, ~4 min of wall time): runs in | |
| # parallel with the fast track so merge feedback stays ~5 min. | |
| test-slow: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Install dependencies | |
| run: uv sync --all-extras --dev | |
| - name: Run tests (slow track) | |
| run: uv run pytest tests/ -q --tb=short -m "slow" | |
| env: | |
| EVOLVER_NO_PARENT_GIT: "1" | |
| # Advisory only: Windows is a first-class dev platform for this port | |
| # (getloadavg/file-lock/os.replace pitfalls). Failures do not block merge. | |
| test-windows: | |
| runs-on: windows-latest | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| python-version: ["3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Install dependencies | |
| run: uv sync --all-extras --dev | |
| - name: Run tests (not slow) | |
| run: uv run pytest tests/ -q --tb=line -m "not slow" | |
| env: | |
| EVOLVER_NO_PARENT_GIT: "1" | |
| - name: Version check | |
| run: uv run evolver --version |