Commit Graph

96 Commits

Author SHA1 Message Date
dependabot[bot]
7463d1ddd7 Bump arduino/setup-protoc from 2 to 3 (#3536)
Bumps [arduino/setup-protoc](https://github.com/arduino/setup-protoc) from 2 to 3.
- [Release notes](https://github.com/arduino/setup-protoc/releases)
- [Commits](https://github.com/arduino/setup-protoc/compare/v2...v3)

---
updated-dependencies:
- dependency-name: arduino/setup-protoc
  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>
2024-03-05 16:58:05 +01:00
Arnaud Gourlay
ecd62fb0d3 Remove doctest usage (#3475) 2024-03-05 16:55:21 +01:00
Andrey Vasnetsov
e59280f1bb Revert "fix: Include git commit id while building docker image if possible" (#3468) 2024-03-05 16:52:57 +01:00
Kumar Shivendu
de5d120197 fix: Include git commit id while building docker image if possible (#3419)
* feat: Print commit id in dev container build workflow

* fix: Keep .git while building Qdrant binary in docker

* fix: Remove redundant printing of git commit id

* fix: Copy only git files first

* fix: Docker build should have commit id if present

* refactor: Use fewer lines of code
2024-03-05 16:52:51 +01:00
Kumar Shivendu
8c114621e7 fix: ghcr image name should be just qdrant (#3416) 2024-03-05 16:48:31 +01:00
Kumar Shivendu
aca4ae451a fix: Update main dev image tag in ghcr (#3411)
* fix: Update main dev image tag in ghcr

* fix: Improve name of the workflow
2024-03-05 16:48:26 +01:00
Dhanus
5558538e35 build: AppImage release (#3343)
* fix: formatting

* build: AppImage release

* chore: add x86_64 in file name

* chore: appimage issues fix

* chore: remove chmod

* build: appimage on ubuntu 20.04

* fix: formatting

* build: AppImage release

* chore: add x86_64 in file name

* chore: appimage issues fix

* chore: remove chmod

* build: appimage on ubuntu 20.04

* include web ui

* fix: linux build

* fix: use UI files within appimage instead of copying

* chore: cleanup
2024-03-05 16:48:16 +01:00
Kumar Shivendu
0fe19cfb60 feat: Expose git commit id in the health check endpoint (#3346)
* feat: Expose git commit id in the health check endpoint

* fix: CI errors

* test: Add test for health check api

* feat: Add / endpoint to openapi schema

* Make git commit hash optional

* ci: Enable debugging setup-protoc action

* Install later protobuf compiler through GitHub Action

* Disable debug mode for setup-protoc job

* refactor: Use commit instead of commit_id

* fix: Use commit instead of commit_id gRPC docs

* test: Update ping API test

* refactor: Rename ping api to root api

---------

Co-authored-by: timvisee <tim@visee.me>
2024-03-05 16:46:04 +01:00
neo773
b2a6c0cd8d Add debian package build step (#3344) 2024-03-05 16:45:20 +01:00
Dhanus
4ceb304e9f feat: musl release (#3342) 2024-03-05 16:45:11 +01:00
Kumar Shivendu
7848d321b2 fix: Prune containers and volumes in self hosted gh runner (#3316) 2024-03-05 16:44:29 +01:00
generall
d68fa1aecf replace docker.pkg.github.com with ghcr.io 2024-03-05 16:42:47 +01:00
generall
6f51021cfa add dokcerx prune 2024-03-05 16:42:41 +01:00
generall
31e2b19a19 almost empty commit to dev to trigger CI build 2024-03-05 16:42:36 +01:00
Kumar Shivendu
ff24718066 ci: Preserve images from the dev branch (#3199)
* ci: Preserve images from the dev branch

* fix: Trigger build for dev containers on dev branch merge

* refactor: Rename jobs and remove unused code

* recover dockerhub credentials from the dev build CI

* fix typo

* add workflow dispatch

* switch to github token [skip ci]

---------

Co-authored-by: generall <andrey@vasnetsov.com>
2024-03-05 16:42:28 +01:00
dependabot[bot]
8389b859f3 Bump actions/upload-artifact from 3 to 4 (#3238)
* Bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump download/artifact as well

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arnaud Gourlay <arnaud.gourlay@gmail.com>
2024-03-05 16:35:06 +01:00
dependabot[bot]
9605cb7311 Bump actions/setup-python from 4 to 5 (#3209)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  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>
2023-12-19 19:26:26 +00:00
Tim Visée
dc893f5be3 Explicitly update rustup toolchain (#3214) 2023-12-12 17:35:44 +01:00
Tim Visée
6dd1c03418 Fix release artifacts for macOS (#3194)
* Install latest stable Rust version on macOS and Linux for release builds

* Rustup is already available on macOS, don't install it
2023-12-11 14:28:48 +01:00
Wesley
8b7211cb20 Read-Only API keys (#2979)
* Read-only API keys

Co-authored-by: Luis Cossío <luis.cossio@outlook.com>

Correct placement of OpenAPI security

Place regex dep with actix/tonic

* Read-only API keys

* Replace with pytests

* API Key tests run on the same job

* Drop allow dead-code

* Rename setting key

* Containerized tests

* No special config files

* DRY

* refactor: re-use can_write method

* refactor: replace static by constants

* refactor: get PID from `$!`

* refactor: use explicit brackets on boolean condition

* style: fix identation

* small fixes + account for new APIs

* specify security in openapi

* small fix + chmod for .sh testfile

* add best-efford check for api consistency

---------

Co-authored-by: Amr Hassan <amr.hassan@gmail.com>
Co-authored-by: generall <andrey@vasnetsov.com>
2023-12-06 17:11:33 +01:00
Roman Titov
eb9466fd67 Add custom TLS certificate support for remote snapshot downloads to snapshot recover APIs (#2895)
* WIP: Add proper HTTPS support for remote snapshot downloads to snapshot recover APIs

* Implement HTTPS client configuration

* fixup! Implement HTTPS client configuration

Move HTTPS client configuration from `actix/certificate_helpers.rs` to
`common/http_client.rs`

* Initialize and propagate HTTPS client to shard snapshot API

* Use reqwest client reference where possible

* Add integration test

* Simplify HTTP(S) client initialization

* fixup! Simplify HTTP(S) client initialization

* Fix lifetime conflicts after rebase on dev

* Add comment to elaborate on PEM concatenation

* fixup! Add integration test

Add `test_tls_snapshot_shard_transfer.sh` run to the existing TLS test job
instead of creating a new one

---------

Co-authored-by: timvisee <tim@visee.me>
2023-12-06 16:59:15 +01:00
Arnaud Gourlay
61a3cee2eb Fix cargo test doc (#2856)
* fix cargo test doc

* run doc test on CI

* try re-ordering tests execution to check if it takes less time
2023-12-06 16:45:26 +01:00
Luis Cossío
f6f2e8c9c1 CI: improve automatic issue creation (#2706)
* improve automatic issue creation
- restrict to only create automatic issues on PRs of authors of the org, or on dev/main
- modify link to failed job, currently this only applies to the issue reporting job, because it's hard to link them to the actual flaky failure run, but it already improves it.
- reduce retries to only 2. Having 3 tries in total feels more than enough.

* debug author association

* ignore issue updating failure

* cleanup
2023-10-06 12:38:28 +02:00
dependabot[bot]
82278663b4 Bump docker/build-push-action from 4 to 5 (#2686)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  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>
2023-10-06 12:37:17 +02:00
dependabot[bot]
23a94c8698 Bump docker/setup-buildx-action from 2 to 3 (#2685)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  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>
2023-10-06 12:37:03 +02:00
Luis Cossío
8d46de09bc reference PR in flaky test template. (#2679)
Also separate build and test stages
2023-10-06 12:36:29 +02:00
Luis Cossío
3f17ae112c CI: use nextest for running rust tests (#2085)
* ci: use nextest for running rust tests

- enable retries with exponential backoff
- adjust test_building_cancellation to run sequentially

* run whole suite in partitions

* nextest.toml: remove profile override for specific test, lower amount of retries

* reuse builds in rust tests

* fixup rust.yml

* ditch partitioned run

* [empty commit] trigger ci

* automate flaky test reporting

* remove step name

* rename to Rust tests

* rebase + checkout only the issue template

* specify saving junit report in nextest.toml

* fix xq command, add postprocess for macos, update download and upload actions
2023-10-06 12:36:07 +02:00
Tim Visée
0f73ce76e9 Cargo test --all is deprecated, use --workspace instead (#2664) 2023-10-06 12:35:50 +02:00
Josh Soref
a18573b265 Spelling (#2658)
* spelling: accumulating

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: and

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: back

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: batching

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: been

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: benchmark

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: collections

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: confusion

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: consensus

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: decrease

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: equal

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: github

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: minimal

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: nonexistent

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: oversampling

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: paths

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: points

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: prevent

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: protobuf

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: proxied

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: randomness

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: recover

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-06 12:35:23 +02:00
Tim Visée
576d06b8bf Fix docker release job (#2654)
* Pull unprivileged image before retagging and publishing on GitHub

* Restructure Docker image release job
2023-10-06 12:35:05 +02:00
Tim Visée
591d32420a Always run our Docker build CI job on our self hosted runner (#2643) 2023-09-12 15:56:56 +02:00
Bastian Hofmann
3e3bda9a09 Build an unprivileged container image (#2613)
* Build an unprivileged container image

This adds building an additional container image with the `-unprivileged` suffix. The resulting container is not running with a root user. Otherwise it is the same as the standard qdrant container image.

Having an image that is running as nonRoot is necessary in a lot of enterprise environments due to security and compliance restrictions.

* Update to use only one Dockerfile with buildargs and one action job to reuse the cached layers from the privileged image

* Also build latest-unprivileged and address feedback
2023-09-12 15:56:13 +02:00
dependabot[bot]
45d42c0628 Bump actions/checkout from 3 to 4 (#2579)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2023-09-05 14:31:01 +02:00
Arnaud Gourlay
5ea706c3f6 add OCI labels on docker image (#2576)
* add OCI labels on docker image

* set version in build script

* Update .github/workflows/docker-image.yml

Co-authored-by: Tim Visée <tim+github@visee.me>

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2023-09-04 16:45:13 +02:00
Andrey Vasnetsov
17dfe92e4d test for snapshot operations with different volumes (#2554)
* test for snapshot operations with different volumes

* fix collection snapshot upload + test for shards snapshots

* replace persistance -> move_file

* simplify shard snapsot upload method

* fmt

* chmod + x

* replace network host

* fmt

* bash linter [skip ci]

* fix review
2023-09-04 16:45:08 +02:00
Roman Titov
097e729713 Shard snapshot API (#2410)
Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-09-04 16:42:42 +02:00
Andrey Vasnetsov
8a974630d2 Stacktrace API (#2457)
* enable /stacktrace API in docker builds

* fmt

* fix ci
2023-09-04 16:42:41 +02:00
Yiping Deng
1a1e327b9e Add test case for create collection after dropping in cluster mode (#2442)
* Add tests for create collection after dropping

* Decrease test collection creation after dropping to 100 iterations

* Upload 50 points on every peer

* Upload more points, 20 calls to every peer

* Set shard number and replication factor

---------

Co-authored-by: timvisee <tim@visee.me>
2023-09-04 16:42:17 +02:00
dependabot[bot]
03984f0ba6 Bump arduino/setup-protoc from 1 to 2 (#2397)
Bumps [arduino/setup-protoc](https://github.com/arduino/setup-protoc) from 1 to 2.
- [Release notes](https://github.com/arduino/setup-protoc/releases)
- [Commits](https://github.com/arduino/setup-protoc/compare/v1...v2)

---
updated-dependencies:
- dependency-name: arduino/setup-protoc
  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>
2023-08-10 14:12:08 +02:00
Yaroslav Halchenko
462ce6ba05 codespell: workflow, config, typos fixed (#2248)
* Add github action to codespell master on push and PRs

* Add rudimentary codespell config

* some skips

* fix some ambigous typos

* [DATALAD RUNCMD] run codespell throughout

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* Add dev branch as target for the workflow
2023-07-31 11:37:32 +02:00
Tim Visée
5e72c9f321 Also run CI tests on macOS (#2227)
* Also test on macOS

* Remove trailing spaces from GitHub Workflow configurations
2023-07-12 15:42:17 +02:00
Tim Visée
ed5ab9a5c3 Fix macOS binary release job (#2228)
* Attempt to fix macOS binary release job

* Trigger release binary jobs on release publish, not on create
2023-07-12 15:42:11 +02:00
Arnaud Gourlay
68c80c67db Cancel sooner consensus test and upload logs (#2102) 2023-06-19 15:24:29 +02:00
Kaya Gökalp
1b2e85b180 ci: move from actions-rs to dtolnay/rust-toolchain (#1995) 2023-06-19 14:45:56 +02:00
Roman Titov
5e2d6ac58b Refactor Dockerfile (#1594)
* Refactor Dockerfile

- fix cross-compilation
- improve caching

TODO:
- check if `lld` is used/works for linkage (and enable if not used, or remove if doesn't work)

* Remove `aarch64` linker config from `.cargo/config.toml` (seems to be unnecessary)

* Expose `LINKER` argument and enable `lld` linker

* Add `mold` linker support

* Document Dockerfile

* Add closing ` in the Dockerfile comments

Co-authored-by: Tim Visée <tim+github@visee.me>

---------

Co-authored-by: Tim Visée <tim+github@visee.me>
2023-06-19 14:37:53 +02:00
Andrey Vasnetsov
885f899cfd move linker to docker (#1863)
* move linker to docker

* move mold install to builder

* use release profile by default

* fix mold download

* add build-args to CI builds

* add missing buil args
2023-05-17 11:24:24 +02:00
Jesse
12ef2847f6 Custom build profile for CI docker builds (#1859)
* Use custom build profile for docker builds

* trigger ci

* change source code to trigger ci with rebuild one more time

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-05-17 11:24:14 +02:00
Jesse
b11729e77b Add caching of docker layers in CI (#1856)
* Add caching of docker layers in CI

Build required docker images for CI in a workflow step using buildkit's
gha cache type. This will populate the local layer cache from github
actions' cache. Builds in subsequent CI steps will be nearly instant,
because all layers can be reused.

* add minor change to see if build time is any faster

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-05-17 11:24:00 +02:00
Roman Titov
93d784f269 Improve handling out-of-RAM errors during Qdrant startup (#1777)
* WIP: Start working on out-of-RAM errors handling [skip ci]

* Implement basic handling of out-of-RAM errors during Qdrant startup

* Try to fix CI fail by allowing both V1 and V2 cgroups

* Try to fix CI fail by improving cgroups handling

* Fix cgroups path detection/handling (+ some minor stylistic changes)

* fixup! Fix cgroups path detection/handling (+ some minor stylistic changes)

* Add test

* Enable low RAM test

* fixup! Add test

* free memory checks

* rm unused function

* Oom fallback script (#1809)

* add recover mode in qdrant + script for handelling OOM

* fix clippy

* reformat entrypoint.sh

* fix test

* add logging to test

* fix test

* fix test

---------

Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
2023-05-17 11:21:48 +02:00
Andrey Vasnetsov
4e7ace443c enable ci test on all branches (#1810)
* enable ci test on all branches

* rollback push trigger

* Also run workflows on branches having / in name

---------

Co-authored-by: timvisee <tim@visee.me>
2023-05-17 11:20:59 +02:00