update comby gen #27
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, master] | |
| pull_request: | |
| branches: [main, master] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| PYTHONUTF8: "1" | |
| PIP_DISABLE_PIP_VERSION_CHECK: "1" | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: setup.py | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install -e . --no-build-isolation | |
| python -m pip install flake8 pylint | |
| - name: Run flake8 | |
| run: | | |
| flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
| flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
| - name: Run pylint | |
| run: > | |
| pylint $(git ls-files '*.py') | |
| --disable | |
| C0207,C0415,W0603,W0706,E0401,C0104,C0200,E0110,C0201,W0718,C0206,C0410,C0411,W0611,C0115,W0613,C0301,C0114,C0116,C0103,W1514,R1732,W1509,R0913,R0914,R1702,R0912,R0915,R0801,R0911,R0917,R0402 | |
| test: | |
| name: Test (${{ matrix.os }}, Python ${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| python-version: "3.10" | |
| - os: ubuntu-latest | |
| python-version: "3.12" | |
| - os: windows-latest | |
| python-version: "3.12" | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: setup.py | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install -e . --no-build-isolation | |
| python -m pip install pytest | |
| - name: Run test suite | |
| run: python -m pytest -q | |
| package-smoke: | |
| name: Package Smoke (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: setup.py | |
| - name: Install package in editable mode | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install -e . --no-build-isolation | |
| python -m pip install comby python-levenshtein tabulate | |
| - name: Verify CLI entry points | |
| run: | | |
| python -m universalmutator.genmutants --help | |
| python -m universalmutator.analyze --help | |
| python -m universalmutator.prioritize --help | |
| ton-smoke: | |
| name: TON Smoke | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: setup.py | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip setuptools wheel | |
| python -m pip install -e . --no-build-isolation | |
| python -m pip install pytest | |
| - name: Verify Tolk CLI availability | |
| run: npx -y @ton/tolk-js --help | |
| - name: Run TON rule smoke tests | |
| run: python -m pytest tests/test_ton_examples.py -q |