Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accepted OS version to run Meilisearch binary #3109

Closed
curquiza opened this issue Nov 22, 2022 · 3 comments
Closed

Accepted OS version to run Meilisearch binary #3109

curquiza opened this issue Nov 22, 2022 · 3 comments
Assignees
Labels
documentation Related to the documentation of this repository impacts docs This issue involves changes in the Meilisearch's documentation v1.0.0 PRs/issues solved in v1.0.0 released on 2023-02-06
Milestone

Comments

@curquiza
Copy link
Member

curquiza commented Nov 22, 2022

Related to

This issue is to define

  • the minimal glibc version required to run the Meilisearch binary
  • the different OS we support to run Meilisearch, if a binary exists or if the users need to compile from source

⚠️ It's possible no implementations are needed in this repo. It will depend on the final choices.

Pingin @meilisearch/docs-team since communication in the docs might be needed.

@curquiza curquiza added this to the v1.0.0 milestone Nov 22, 2022
@curquiza curquiza added documentation Related to the documentation of this repository impacts docs This issue involves changes in the Meilisearch's documentation labels Nov 22, 2022
@curquiza curquiza self-assigned this Nov 22, 2022
@curquiza
Copy link
Member Author

Some update about the minimal glib requirement.

TLDR; minimal glibc required is 2.27. Meilisearch will still work for ubuntu 18.04 and later and debian 10 and later

More info: meilisearch/product#547 (reply in thread)

bors bot added a commit that referenced this issue Dec 20, 2022
3261: Use ubuntu-18.04 container instead of GitHub hosted actions r=curquiza a=curquiza

Related to (but does not fix totally) #3109 and meilisearch/product#547 (reply in thread)

## For reviewers, what's the PR changes:
- Use ubuntu-latest where compiling with ubuntu-18.04 is not needed (`update-version-cargo-toml`, `fmt`, `clippy` jobs)
- Where ubuntu-18.04 is required
  - Use `ubuntu-latest` as runner
  - Use `ubuntu:18.04` as Docker container
  - Install the required dependencies (curl and cc)
  - Use `actions-rs/toolchain@v1` instead of `hecrj/setup-rust-action@master`. It's more stable and followed alternative. Plus it was easy to make it work with our container contrary to the old one. Change applied in all our CIs to be more consistent
- Remove some useless space to increase readability.

Co-authored-by: curquiza <clementine@meilisearch.com>
@curquiza
Copy link
Member Author

curquiza commented Dec 20, 2022

After investigations and adaptations in the CI (#3261 and #3264) here are the final results about the compatible OS with Meilisearch

Final results

The engine team ensures Meilisearch will work on

  • Any Linux distribution

    • with amd64/x86_64 or aarch64/arm64 architecture
    • using glibc 2.27 and later. Use the command ldd --version to know the version in the machine.
  • macOS

    • with amd64 or arm64 (Apple Silicon) architecture
    • we only run our CIs on macOS 12 (tests and binary publish), so Meilisearch is supposed to work on macOS 12 and later
  • Windows

    • we only run our CIs (tests and binary publish) on Windows server 2022, so Meilisearch is supposed to work on Windows 11 and later

💡 "Meilisearch will work" = the download-latest.sh script will work, or the assets are available directly in the GitHub release assets

⚠️ For any other distribution or version that is not listed, it does not mean Meilisearch will not work, but we cannot guarantee it since we don't check them regularly in our CIs.
Also, if Meilisearch does not work with the provided binaries, it does not mean Meilisearch does not work at all on your machine: you can compile it from source files. However, if the compilation fails, it means Meilisearch is definitely not compatible with your machine.

🐞 The time we will spend investigating and fixing bugs will depend on the proportion of users using Meilisearch with the OS distribution related to the bug. For instance, a bug only appearing on Windows 11 will not be prioritized compared to a bug appearing on Ubuntu 20.
However, Meilisearch is open-source and always will be, meaning contributions are always welcome if you want to maintain your specific OS support with Meilisearch.
In the future, depending on the need for transparency and the number of bugs we have, we plan to provide "tier" groups like Rust does to communicate clearly what will be our priority regarding bug fixes.

@irevoire @Kerollmops and @dureuill I would love to have your review regarding what I've written here to ensure I don't have written anything technically incorrect.

@meilisearch/docs-team this information might really interest you for the docs 😇

bors bot added a commit that referenced this issue Dec 20, 2022
3264: Remove macos-latest and windows-latest usages r=curquiza a=curquiza

Related to #3109 (comment)

Remove the `macos-latest` and `windows-latest` to replace them with the specific version: this will avoid "surprises" in the future when GitHub changes the `latest` version.
This way, it will also allow us to let the documentation team know about the changes, since we will control the macOS/Windows version we support

Co-authored-by: curquiza <clementine@meilisearch.com>
@curquiza
Copy link
Member Author

Closing this since official OS support has been give and changes have been applied in the CI (in #3261 and #3264)

@meili-bot meili-bot added the v1.0.0 PRs/issues solved in v1.0.0 released on 2023-02-06 label Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Related to the documentation of this repository impacts docs This issue involves changes in the Meilisearch's documentation v1.0.0 PRs/issues solved in v1.0.0 released on 2023-02-06
Projects
No open projects
Status: Done
Development

No branches or pull requests

2 participants