Files
qdrant/.github/workflows/edge-rust-release.yml
dependabot[bot] d1b0013c56 build(deps): bump rui314/setup-mold (#8809)
Bumps [rui314/setup-mold](https://github.com/rui314/setup-mold) from 725a8794d15fc7563f59595bd9556495c0564878 to 9c9c13bf4c3f1adef0cc596abc155580bcb04444.
- [Commits](725a8794d1...9c9c13bf4c)

---
updated-dependencies:
- dependency-name: rui314/setup-mold
  dependency-version: 9c9c13bf4c3f1adef0cc596abc155580bcb04444
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-28 07:48:11 +02:00

104 lines
2.7 KiB
YAML

name: Qdrant Edge Rust Release
on:
workflow_dispatch:
inputs:
publish:
description: 'Publish to crates.io'
type: boolean
default: false
required: true
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.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
- 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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Install ast-grep
run: uv tool install ast-grep-cli
- name: Checkout Qdrant
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- 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