name: CI on: push: branches: ["**"] pull_request: branches: ["**"] jobs: python: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.13' cache: 'pip' - name: Install Poetry run: python -m pip install --upgrade pip poetry - name: Install dependencies run: | poetry config virtualenvs.create false poetry install --no-interaction --no-ansi - name: Lint (ruff) run: poetry run ruff check . - name: Check .env.example drift run: python scripts/focused_dotenv_linter.py --check - name: Test (pytest) run: poetry run pytest --cov=aitbc_cli --cov-report=term-missing --cov-report=xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: file: ./coverage.xml flags: unittests name: codecov-umbrella contracts: runs-on: ubuntu-latest defaults: run: working-directory: contracts steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' cache: 'npm' cache-dependency-path: contracts/package-lock.json - name: Install dependencies run: npm ci - name: Lint run: npm run lint - name: Compile run: npm run compile - name: Test run: npm test