Files
qdrant/.github/workflows/release-artifacts.yml
dependabot[bot] 111de40297 build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#9273)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...df4cb1c069)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-03 14:58:26 +02:00

169 lines
5.6 KiB
YAML

name: Build and publish release packages
permissions:
contents: write
on:
release:
# 'published' is triggered when publishing draft release, 'created' is not
types: [published]
jobs:
build-linux-binaries:
strategy:
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: aarch64-unknown-linux-musl
os: ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc-multilib clang cmake protobuf-compiler
rustup default stable
rustup update
rustup show
cargo -Vv
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install Protoc
uses: ./.github/actions/setup-protoc
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- name: Install cross-compilation tools
with:
target: ${{ matrix.target }}
if: startsWith(matrix.os, 'ubuntu') && contains(matrix.target, '-musl')
uses: taiki-e/setup-cross-toolchain-action@3d9770ce98eb7dbcf378563182a5e8031165f75b # v1.41.0
- name: Build and publish
uses: taiki-e/upload-rust-binary-action@f0d45ae91ee7b8ee928de7a9d04d893a08bcbec6 # v1.30.2
with:
bin: qdrant
target: ${{ matrix.target }}
- name: Build Debian Package
if: matrix.target == 'x86_64-unknown-linux-musl'
run: |
bash -x tools/sync-web-ui.sh
cargo install cargo-deb
cargo deb --no-strip --target ${{ matrix.target }}
- name: Upload Debian package
if: matrix.target == 'x86_64-unknown-linux-musl'
uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: target/${{ matrix.target }}/debian/*.deb
tag: ${{ github.ref }}
overwrite: true
file_glob: true
build-mac-binaries:
strategy:
matrix:
include:
- target: x86_64-apple-darwin
os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
runs-on: ${{ matrix.os }}
steps:
- name: Install dependencies
run: |
brew update-reset
brew install gcc cmake protobuf-c
rustup default stable
rustup update
rustup show
cargo -Vv
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Build and publish
uses: taiki-e/upload-rust-binary-action@f0d45ae91ee7b8ee928de7a9d04d893a08bcbec6 # v1.30.2
with:
bin: qdrant
target: ${{ matrix.target }}
build-windows-binaries:
strategy:
matrix:
include:
- os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Install minimal stable
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Install Protoc
uses: ./.github/actions/setup-protoc
- name: Build
run: cargo build --release --locked
- name: Build and publish
uses: taiki-e/upload-rust-binary-action@f0d45ae91ee7b8ee928de7a9d04d893a08bcbec6 # v1.30.2
with:
bin: qdrant
build-app-image:
strategy:
matrix:
include:
- os: ubuntu-22.04
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc-multilib clang cmake protobuf-compiler libfuse2
- name: Install Protoc
uses: ./.github/actions/setup-protoc
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7 # stable
- name: Build release binary
run: cargo build --release --locked
- name: Build AppImage
shell: bash
run: |
mkdir -p AppDir
cp docs/logo.svg qdrant.svg
cp target/release/qdrant .
curl -Lo linuxdeploy-x86_64.AppImage \
https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
./linuxdeploy-x86_64.AppImage \
--appdir AppDir \
--executable qdrant \
-d pkg/appimage/qdrant.desktop \
-i qdrant.svg \
--custom-apprun pkg/appimage/AppRun.sh
wget -O dist-qdrant.zip "$(curl --silent "https://api.github.com/repos/qdrant/qdrant-web-ui/releases/latest" | jq -r '.assets[] | select(.name=="dist-qdrant.zip") | .browser_download_url')"
unzip -o dist-qdrant.zip -d static
mv -n static/dist/* static/
rm -rf static/dist
mv static AppDir/usr/share
./linuxdeploy-x86_64.AppImage \
--appdir AppDir \
--output appimage
- name: Upload AppImage
uses: svenstaro/upload-release-action@29e53e917877a24fad85510ded594ab3c9ca12de # 2.11.5
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: "qdrant-x86_64.AppImage"
tag: ${{ github.ref }}
overwrite: true
file_glob: true