Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 128 additions & 2 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,140 @@ permissions:
jobs:
check:
runs-on: ubuntu-latest
timeout-minutes: 10
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
python: ['3.11', '3.14']
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.11'
python-version: ${{ matrix.python }}
- uses: dtolnay/rust-toolchain@stable
- run: python -m pip install -e ".[dev]"
- run: ruff check .
- run: python -m pytest
- run: python -m pytest
env:
AGENTCHAT_BACKEND: python

rust:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.11'
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- run: cargo fmt --all --check
- run: cargo test --workspace --locked
- run: cargo clippy --workspace --all-targets --locked -- -D warnings
- run: cargo check -p agentchat --no-default-features --locked
- run: cargo check -p agentchat --features slack --examples --locked

rust-minimum:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.11'
- uses: dtolnay/rust-toolchain@1.88.0
- run: cargo +1.88.0 check --workspace --all-targets --locked

node:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
node: ['22', '24']
defaults:
run:
working-directory: packages/node
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-node@v7
with:
node-version: ${{ matrix.node }}
cache: npm
cache-dependency-path: packages/node/package-lock.json
- uses: dtolnay/rust-toolchain@stable
- run: npm ci
- run: npm run build
- run: npm run typecheck
- run: npm test
- run: npm run smoke
- run: npm ci
working-directory: examples/node
- run: npm run typecheck
working-directory: examples/node
- run: npm test
working-directory: examples/node

packages:
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-15, macos-15-intel, windows-latest]
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.11'
- uses: actions/setup-node@v7
with:
node-version: '24'
cache: npm
cache-dependency-path: packages/node/package-lock.json
- uses: dtolnay/rust-toolchain@stable
- run: python -m pip install 'maturin>=1.9,<2'
- uses: PyO3/maturin-action@v1
with:
command: build
args: --release --locked --out dist
manylinux: auto
- name: Install and exercise built wheel
shell: bash
run: |
python -m pip install dist/*.whl
python scripts/python-package-smoke.py
- run: npm ci
working-directory: packages/node
- run: npm run build
working-directory: packages/node
- run: npm run smoke
working-directory: packages/node

source-distribution:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.11'
- uses: dtolnay/rust-toolchain@stable
- run: python -m pip install 'maturin>=1.9,<2'
- run: maturin sdist --out dist
- run: python -m pip install dist/*.tar.gz
- run: python scripts/python-package-smoke.py
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ __pycache__/
.pytest_cache/
.ruff_cache/
.venv/
.venv-*/
build/
dist/
*.egg-info/
target/
node_modules/
*.node
*.so
*.dylib
*.tgz
Loading
Loading