Files
qdrant/.github/workflows/edge-rust-release.yml
dependabot[bot] ac58036e20 build(deps): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 (#9993)
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](11f9893b08...c771a70e62)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 16:53:15 -04:00

110 lines
2.9 KiB
YAML

name: Qdrant Edge Rust Release
on:
workflow_dispatch:
inputs:
publish:
description: 'Publish to crates.io'
type: boolean
default: false
required: true
permissions:
contents: read
jobs:
edge-rust-check:
name: Check Qdrant Edge Rust Package [${{ matrix.os }}]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-24.04-arm
- ubuntu-latest
- windows-11-arm
- windows-latest
steps:
- name: Checkout Qdrant
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install Rust
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- name: Install mold
if: startsWith(matrix.os, 'ubuntu')
uses: rui314/setup-mold@9c9c13bf4c3f1adef0cc596abc155580bcb04444 # v1
- name: Install Just
uses: ./.github/actions/setup-just
- name: Install uv
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
- name: Install ast-grep
run: uv tool install ast-grep-cli
- name: Setup Qdrant (for testing examples)
id: setup-qdrant
# No Qdrant release for Windows ARM yet.
# So, build only, but not test.
if: matrix.os != 'windows-11-arm'
uses: ./.github/actions/setup-qdrant
- name: Restore Rust build cache
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with:
shared-key: edge
# edge-test (edge-test.yml) is the broadest build in this group and owns saving the cache
save-if: "false"
- name: Prepare data files (for testing examples)
if: steps.setup-qdrant.conclusion == 'success'
working-directory: lib/edge
run: just prepare-data
- name: Build examples
working-directory: lib/edge
run: just rs-examples-build
- name: Run examples
if: steps.setup-qdrant.conclusion == 'success'
working-directory: lib/edge
run: just rs-examples
publish:
name: Publish to crates.io
runs-on: ubuntu-latest
needs:
- edge-rust-check
if: inputs.publish
steps:
- name: Install Rust
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- name: Install uv
uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0
- name: Install ast-grep
run: uv tool install ast-grep-cli
- name: Checkout Qdrant
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Amalgamate
run: uv run lib/edge/publish/amalgamate.py
- name: Publish to crates.io
working-directory: lib/edge/publish
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN_EDGE }}
run: cargo publish -p qdrant-edge --no-verify