Merge pull request #4 from PsYcGoD/agent/sage-wrapper-2.6.0 #198
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: | |
| branches: [main] | |
| jobs: | |
| test: | |
| name: Tests (${{ matrix.os }} / py${{ matrix.python-version }}) | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, ubuntu-latest] | |
| python-version: ["3.11", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install package and test dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e . | |
| pip install pytest customtkinter | |
| - name: Run deterministic test suite | |
| # gui/live tests are excluded by the pytest config in pyproject.toml | |
| run: python -m pytest -q | |
| lint: | |
| name: Lint and build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| cache: pip | |
| - name: Install tooling | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff build | |
| - name: Ruff (errors only) | |
| run: ruff check src/sage --select E9,F63,F7,F82 | |
| - name: Byte-compile all sources | |
| run: python -m compileall -q src/sage | |
| - name: Build package | |
| run: python -m build | |
| - name: Verify release versions | |
| run: python scripts/check_release_versions.py | |
| npm-launcher: | |
| name: npm wrapper-only launcher | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: npm | |
| cache-dependency-path: js/package-lock.json | |
| - name: Install, test, and build thin launcher | |
| working-directory: js | |
| run: | | |
| npm ci | |
| npm test | |
| npm run build | |
| npm pack --dry-run |