Skip to content

feat(kafka): Kafka Connector #47

feat(kafka): Kafka Connector

feat(kafka): Kafka Connector #47

Workflow file for this run

name: Test/Lint/Benchmark
on:
pull_request:
branches: [main]
paths:
- "**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
- "**/pyproject.toml"
- "pyproject.toml"
- "uv.lock"
- "**/*.py"
- "**/*.pyi"
push:
branches: [main]
paths:
- "**/*.rs"
- "**/Cargo.toml"
- "**/Cargo.lock"
- "**/pyproject.toml"
- "pyproject.toml"
- "uv.lock"
- "**/*.py"
- "**/*.pyi"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
permissions:
contents: read
jobs:
check_python:
name: Check Python
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft != true }}
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt-get update && sudo apt-get install -y protobuf-compiler
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Cargo cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
run: |
pip install uv
- name: Sync
run: |
uv sync --locked --all-packages --dev
- name: Run black
run: |
uv run -m black --pyi --check ptolemy-py/python
- name: Build client
run: |
make build-client
- name: Run tests with coverage
run: |
uv run -m coverage run -m pytest ptolemy-py
uv run -m coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Run benchmarks
uses: CodSpeedHQ/action@v3
with:
run: uv run pytest ptolemy-py/tests --codspeed
token: ${{ secrets.CODSPEED_TOKEN }}
check_rust:
name: Check Rust
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft != true }}
steps:
- uses: actions/checkout@v3
- name: Install dependencies
run: |
sudo apt-get update && sudo apt-get install -y protobuf-compiler
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Cargo cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Check code format
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-features
- name: Run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --all-features