feat(client): add create_label/create_edge_type with SchemaMode #146
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: | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4 | |
| with: | |
| python-version: "3.11" | |
| - run: uv sync | |
| - run: uv run ruff check coordinode/ langchain-coordinode/ llama-index-coordinode/ tests/ | |
| - run: uv run ruff format --check coordinode/ langchain-coordinode/ llama-index-coordinode/ tests/ | |
| test: | |
| name: Test (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| submodules: recursive | |
| - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: uv sync --all-packages | |
| - name: Generate proto stubs | |
| run: uv run make proto | |
| - name: Unit tests | |
| run: uv run pytest tests/unit/ -v | |
| build-embedded: | |
| name: Build embedded (CI check) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| submodules: recursive | |
| - name: Build (maturin / Linux x86_64) | |
| uses: PyO3/maturin-action@32307a466a178317e8c2ae343b38e73896a047be # v1.47.0 | |
| with: | |
| command: build | |
| args: >- | |
| --manifest-path coordinode-embedded/Cargo.toml | |
| --out /tmp/embedded-dist | |
| manylinux: manylinux_2_28 | |
| before-script-linux: | | |
| dnf install -y protobuf-compiler | |
| test-integration: | |
| name: Integration tests | |
| runs-on: ubuntu-latest | |
| services: | |
| coordinode: | |
| image: ghcr.io/structured-world/coordinode:latest | |
| ports: | |
| - 7080:7080 | |
| - 7084:7084 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| submodules: recursive | |
| - uses: astral-sh/setup-uv@38f3f104447c67c051c4a08e39b64a148898af3a # v4 | |
| with: | |
| python-version: "3.11" | |
| - name: Wait for coordinode | |
| run: | | |
| echo "Waiting for coordinode to be ready (HTTP :7084 + gRPC :7080)..." | |
| for i in $(seq 1 30); do | |
| if curl -sf http://localhost:7084/health >/dev/null 2>&1 && \ | |
| (echo > /dev/tcp/localhost/7080) 2>/dev/null; then | |
| echo "coordinode is ready (attempt $i)" | |
| exit 0 | |
| fi | |
| echo "Attempt $i/30 — not ready yet, sleeping 5s..." | |
| sleep 5 | |
| done | |
| echo "Error: coordinode did not become healthy after 150s" >&2 | |
| exit 1 | |
| - name: Install + generate proto | |
| run: | | |
| uv sync --all-packages | |
| uv run make proto | |
| - name: Integration tests | |
| env: | |
| COORDINODE_ADDR: "localhost:7080" | |
| run: uv run pytest tests/integration/ -v --timeout=30 |