Merge pull request #18 from btcneves/codex/fix-cluster-mempool-versio… #54
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: | |
| # --------------------------------------------------------------------------- | |
| # Python backend — lint, tests, static validation, dependency audit | |
| # --------------------------------------------------------------------------- | |
| backend: | |
| name: Backend (Python ${{ matrix.python-version }}) | |
| 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 }} | |
| cache: "pip" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -r requirements-dev.txt | |
| - name: Lint — ruff format check | |
| run: ruff format --check . | |
| - name: Lint — ruff check | |
| run: ruff check . | |
| - name: Static compilation check | |
| run: python -m compileall engine api scripts tests monitor.py | |
| - name: Run unit tests | |
| run: python -m unittest discover -s tests -v | |
| - name: Dependency vulnerability audit | |
| run: pip-audit --requirement requirements.txt | |
| # --------------------------------------------------------------------------- | |
| # Frontend — type-check + build | |
| # --------------------------------------------------------------------------- | |
| frontend: | |
| name: Frontend (Node ${{ matrix.node-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: ["18", "20", "24"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: "npm" | |
| cache-dependency-path: frontend/package-lock.json | |
| - name: Install dependencies | |
| working-directory: frontend | |
| run: npm ci | |
| - name: Lint | |
| working-directory: frontend | |
| run: npm run lint | |
| - name: Format check | |
| working-directory: frontend | |
| run: npm run format:check | |
| - name: Type-check and build | |
| working-directory: frontend | |
| run: npm run build | |
| # --------------------------------------------------------------------------- | |
| # Public-clean check — no local artifacts or credentials in the repo | |
| # --------------------------------------------------------------------------- | |
| clean-check: | |
| name: Public-clean check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check for sensitive or local-only content | |
| run: bash scripts/check-public-clean.sh |