name: SqlStore Integration Tests on: push: branches: [ main ] pull_request: branches: [ main ] paths: - 'llama_stack/providers/utils/sqlstore/**' - 'tests/integration/sqlstore/**' - 'uv.lock' - 'pyproject.toml' - 'requirements.txt' - '.github/workflows/integration-sql-store-tests.yml' # This workflow concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test-postgres: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.12", "3.13"] fail-fast: false services: postgres: image: postgres:15 env: POSTGRES_USER: llamastack POSTGRES_PASSWORD: llamastack POSTGRES_DB: llamastack ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Install dependencies uses: ./.github/actions/setup-runner with: python-version: ${{ matrix.python-version }} - name: Run SqlStore Integration Tests env: ENABLE_POSTGRES_TESTS: "true" POSTGRES_HOST: localhost POSTGRES_PORT: 5432 POSTGRES_DB: llamastack POSTGRES_USER: llamastack POSTGRES_PASSWORD: llamastack run: | uv run pytest -sv tests/integration/providers/utils/sqlstore/ - name: Upload test logs if: ${{ always() }} uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: postgres-test-logs-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.python-version }} path: | *.log retention-days: 1