Skip to main content
EVOKORE// WORKFLOWS / py.check.yaml
ComposioHQ/composioworkflow · 75 lines

workflows/py.check.yaml

CI / automation

View on GitHub →
# REFERENCE-ONLY: GitHub Actions secrets referenced below are illustrative.
# Do not inject real credentials. See your CI/CD provider for proper secret management.
name: Checks
on:
  push:
    branches:
      - master
    paths:
      - "python/**/*.py"
      - ".github/workflows/py.check.yaml"
  pull_request:
    types: [opened, synchronize]
    paths:
      - "python/**/*.py"
      - ".github/workflows/py.check.yaml"

jobs:
  common-checks:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
        with:
          fetch-depth: 50

      - name: Setup Python with UV
        id: setup-python
        uses: ./.github/actions/setup-python-uv

      - name: nox cache
        id: nox-cache
        uses: actions/cache@v4
        with:
          path: python/.nox
          key: nox-${{ hashFiles('pyproject.toml') }}-py${{ steps.setup-python.outputs.python-version }}
          restore-keys: |
            nox-

      - name: Mypy cache
        id: mypy-cache
        uses: actions/cache@v4
        with:
          path: python/.mypy_cache
          key: mypy-${{ hashFiles('pyproject.toml') }}-py${{ steps.setup-python.outputs.python-version }}
          restore-keys: |
            mypy-

      - name: Ruff cache
        id: ruff-cache
        uses: actions/cache@v4
        with:
          path: python/.ruff_cache
          key: ruff-${{ hashFiles('pyproject.toml') }}-py${{ steps.setup-python.outputs.python-version }}
          restore-keys: |
            ruff-

      - name: Install deps
        run: |
          cd python/
          make env

      - name: Lint and type checks
        shell: bash
        run: |
          cd python/
          uv run nox -s chk

      - name: Type inference tests
        shell: bash
        run: |
          cd python/
          uv run nox -s type_inference
        env:
          COMPOSIO_API_KEY: ${{ secrets.COMPOSIO_API_KEY }}