Files
qdrant/.github/workflows/edge-rust-release.yml
dependabot[bot] c68b89297e build(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#9538)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](df4cb1c069...9c091bb21b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.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-06-23 09:53:04 +02: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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- 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@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.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@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
- name: Install ast-grep
run: uv tool install ast-grep-cli
- name: Checkout Qdrant
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- 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