mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-03 19:57:35 +00:00
Some checks failed
SqlStore Integration Tests / test-postgres (3.12) (push) Failing after 0s
SqlStore Integration Tests / test-postgres (3.13) (push) Failing after 0s
Integration Auth Tests / test-matrix (oauth2_token) (push) Failing after 1s
Python Package Build Test / build (3.12) (push) Failing after 1s
Test External Providers Installed via Module / test-external-providers-from-module (venv) (push) Has been skipped
Integration Tests (Replay) / Integration Tests (, , , client=, ) (push) Failing after 3s
Python Package Build Test / build (3.13) (push) Failing after 2s
API Conformance Tests / check-schema-compatibility (push) Successful in 6s
Vector IO Integration Tests / test-matrix (push) Failing after 4s
Pre-commit / pre-commit (push) Successful in 1m19s
Test External API and Providers / test-external (venv) (push) Failing after 3s
Unit Tests / unit-tests (3.12) (push) Failing after 3s
Unit Tests / unit-tests (3.13) (push) Failing after 4s
UI Tests / ui-tests (22) (push) Successful in 38s
The `/v1/openai/v1` prefix is annoying and now unnecessary given our clearer focus on how to think about the API surface. Let's kill it for the 0.3.0 update. To make client-side changes feasible, we will do this in two parts. This part adds a new route (sans `/openai/v1`) so the existing client continues to work since the server supports both. The next PR will be client-side (Stainless) changes which I will be making shortly. The final PR will remove the `/openai/v1` routes. Note that all these changes will happen rapidly within this release cycle. The entire set _will be backwards incompatible_.
69 lines
2.8 KiB
YAML
69 lines
2.8 KiB
YAML
# API Conformance Tests
|
|
# This workflow ensures that API changes maintain backward compatibility and don't break existing integrations
|
|
# It runs schema validation and OpenAPI diff checks to catch breaking changes early
|
|
|
|
name: API Conformance Tests
|
|
|
|
run-name: Run the API Conformance test suite on the changes.
|
|
|
|
on:
|
|
push:
|
|
branches: [ main ]
|
|
pull_request:
|
|
branches: [ main ]
|
|
types: [opened, synchronize, reopened]
|
|
paths:
|
|
- 'docs/static/llama-stack-spec.yaml'
|
|
- 'docs/static/llama-stack-spec.html'
|
|
- '.github/workflows/conformance.yml' # This workflow itself
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.ref }}
|
|
# Cancel in-progress runs when new commits are pushed to avoid wasting CI resources
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# Job to check if API schema changes maintain backward compatibility
|
|
check-schema-compatibility:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Using specific version 4.1.7 because 5.0.0 fails when trying to run this locally using `act`
|
|
# This ensures consistent behavior between local testing and CI
|
|
- name: Checkout PR Code
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
# Checkout the base branch to compare against (usually main)
|
|
# This allows us to diff the current changes against the previous state
|
|
- name: Checkout Base Branch
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
ref: ${{ github.event.pull_request.base.ref }}
|
|
path: 'base'
|
|
|
|
# Cache oasdiff to avoid checksum failures and speed up builds
|
|
- name: Cache oasdiff
|
|
id: cache-oasdiff
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830
|
|
with:
|
|
path: ~/oasdiff
|
|
key: oasdiff-${{ runner.os }}
|
|
|
|
# Install oasdiff: https://github.com/oasdiff/oasdiff, a tool for detecting breaking changes in OpenAPI specs.
|
|
- name: Install oasdiff
|
|
if: steps.cache-oasdiff.outputs.cache-hit != 'true'
|
|
run: |
|
|
curl -fsSL https://raw.githubusercontent.com/oasdiff/oasdiff/main/install.sh | sh
|
|
cp /usr/local/bin/oasdiff ~/oasdiff
|
|
|
|
# Setup cached oasdiff
|
|
- name: Setup cached oasdiff
|
|
if: steps.cache-oasdiff.outputs.cache-hit == 'true'
|
|
run: |
|
|
sudo cp ~/oasdiff /usr/local/bin/oasdiff
|
|
sudo chmod +x /usr/local/bin/oasdiff
|
|
|
|
# Run oasdiff to detect breaking changes in the API specification
|
|
# This step will fail if incompatible changes are detected, preventing breaking changes from being merged
|
|
- name: Run OpenAPI Breaking Change Diff
|
|
run: |
|
|
oasdiff breaking --fail-on ERR base/docs/static/llama-stack-spec.yaml docs/static/llama-stack-spec.yaml --match-path '^/v1/'
|