Compare commits

..

6 Commits

Author SHA1 Message Date
Louis Dureuil
56fd9637cd Add basic analytics 2023-02-09 10:11:14 +01:00
Louis Dureuil
1bb8ace177 Add multi search tests 2023-02-09 10:09:01 +01:00
Louis Dureuil
e343f9a337 Add test server search method for multi search 2023-02-09 10:09:01 +01:00
Louis Dureuil
0725e51335 Add search with an array of indexes 2023-02-09 10:08:58 +01:00
Louis Dureuil
0bf35c7cc6 Add prototype to analytics if any 2023-02-08 18:13:41 +01:00
Louis Dureuil
541d38d9d4 If using a prototype, display its name at Meilisearch startup 2023-02-08 18:08:08 +01:00
6 changed files with 16 additions and 14 deletions

View File

@@ -121,20 +121,15 @@ The full Meilisearch release process is described in [this guide](https://github
Depending on the developed feature, you might need to provide a prototyped version of Meilisearch to make it easier to test by the users.
The prototype name must follow this convention: `prototype-X-Y` where
- `X` is the feature name formatted in `kebab-case`. It should not end with a number segment.
- `X` is the feature name formatted in `kebab-case`
- `Y` is the version of the prototype, starting from `0`.
Example: `prototype-auto-resize-0`.
❌ Bad example: `auto-resize-0`: lacks the `prototype` prefix.
❌ Bad example: `prototype-auto-resize`: lacks the version suffix.
❌ Bad example: `prototype-auto-resize-0-0`: feature name ends with a number segment.
Example: `prototype-auto-resize-0`.
Steps to create a prototype:
1. In your terminal, go to the last commit of your branch (the one you want to provide as a prototype).
2. Create a tag following the convention: `git tag prototype-X-Y`
3. Run Meilisearch and check that its launch summary features a line: `Prototype: prototype-X-Y` (you may need to switch branches and back after tagging for this to work).
3. Push the tag: `git push origin prototype-X-Y`
4. Check the [Docker CI](https://github.com/meilisearch/meilisearch/actions/workflows/publish-docker-images.yml) is now running.
@@ -143,7 +138,7 @@ More information about [how to run Meilisearch with Docker](https://docs.meilise
⚙️ However, no binaries will be created. If the users do not use Docker, they can go to the `prototype-X-Y` tag in the Meilisearch repository and compile from the source code.
⚠️ When sharing a prototype with users, remind them to not use it in production. Prototypes are solely for test purposes.
⚠️ When sharing a prototype with users, prevent them from using it in production. Prototypes are only for test purposes.
### Release assets

4
Cargo.lock generated
View File

@@ -3867,9 +3867,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
version = "1.24.2"
version = "1.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb"
checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
dependencies = [
"autocfg",
"bytes",

View File

@@ -25,7 +25,7 @@ tar = "0.4.38"
tempfile = "3.3.0"
thiserror = "1.0.30"
time = { version = "0.3.7", features = ["serde-well-known", "formatting", "parsing", "macros"] }
tokio = "1.24"
tokio = "1.0"
uuid = { version = "1.1.2", features = ["serde", "v4"] }
[dev-dependencies]

View File

@@ -65,7 +65,7 @@ tar = "0.4.38"
tempfile = "3.3.0"
thiserror = "1.0.37"
time = { version = "0.3.15", features = ["serde-well-known", "formatting", "parsing", "macros"] }
tokio = { version = "1.24.2", features = ["full"] }
tokio = { version = "1.21.2", features = ["full"] }
tokio-stream = "0.1.10"
toml = "0.5.9"
uuid = { version = "1.1.2", features = ["serde", "v4"] }

View File

@@ -4,6 +4,8 @@ fn main() {
let mut config = Config::default();
// allow using non-annotated tags
*config.git_mut().semver_kind_mut() = SemverKind::Lightweight;
// add -dirty suffix when we're not right on the tag
*config.git_mut().semver_dirty_mut() = Some("-dirty");
if let Err(e) = vergen(config) {
println!("cargo:warning=vergen: {}", e);

View File

@@ -435,13 +435,18 @@ pub fn configure_metrics_route(config: &mut web::ServiceConfig, enable_metrics_r
/// Returns `Some(prototype_name)` if the following conditions are met on this value:
///
/// 1. starts with `prototype-`,
/// 2. ends with `-<some_number>`,
/// 3. does not end with `<some_number>-<some_number>`.
/// 2. does not end with `dirty-`,
/// 3. ends with `-<some_number>`,
/// 4. does not end with `<some_number>-<some_number>`.
///
/// Otherwise, returns `None`.
pub fn prototype_name() -> Option<&'static str> {
let prototype: &'static str = option_env!("VERGEN_GIT_SEMVER_LIGHTWEIGHT")?;
if prototype.ends_with("-dirty") {
return None;
}
if !prototype.starts_with("prototype-") {
return None;
}