From a5e23aa6e469c24bbe205161699446d865ca8dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Lecrenier?= Date: Thu, 6 Oct 2022 10:13:50 +0200 Subject: [PATCH 1/4] Use Ubuntu 18.04 for all CI tasks that previously used Ubuntu 20.04 This is to prevent linking with a version of glibc that is too recent. With meilisearch v0.29.0 we inadvertently bumped the minimum supported glibc version to 2.29, which means it couldn't be run from Debian 10 (for example) anymore. By using Ubuntu 18.04, which uses glibc 2.27, we restore support for older Linux distros. --- .github/workflows/coverage.yml | 2 +- .github/workflows/flaky.yml | 2 +- .github/workflows/publish-binaries.yml | 6 +-- .github/workflows/publish-deb-brew-pkg.yml | 4 +- .github/workflows/rust.yml | 8 ++-- .../workflows/update-cargo-toml-version.yml | 47 +++++++++++++++++++ bors.toml | 2 +- 7 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/update-cargo-toml-version.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index acef34200..3a10a611f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -6,7 +6,7 @@ name: Execute code coverage jobs: nightly-coverage: - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 diff --git a/.github/workflows/flaky.yml b/.github/workflows/flaky.yml index 3ba11fe77..8d34da4d9 100644 --- a/.github/workflows/flaky.yml +++ b/.github/workflows/flaky.yml @@ -5,7 +5,7 @@ on: jobs: flaky: - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/publish-binaries.yml b/.github/workflows/publish-binaries.yml index a2f43d867..a9fa50223 100644 --- a/.github/workflows/publish-binaries.yml +++ b/.github/workflows/publish-binaries.yml @@ -35,9 +35,9 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-latest, windows-latest] + os: [ubuntu-18.04, macos-latest, windows-latest] include: - - os: ubuntu-20.04 + - os: ubuntu-18.04 artifact_name: meilisearch asset_name: meilisearch-linux-amd64 - os: macos-latest @@ -72,7 +72,7 @@ jobs: matrix: include: - build: aarch64 - os: ubuntu-20.04 + os: ubuntu-18.04 target: aarch64-unknown-linux-gnu linker: gcc-aarch64-linux-gnu use-cross: true diff --git a/.github/workflows/publish-deb-brew-pkg.yml b/.github/workflows/publish-deb-brew-pkg.yml index b5fc330bf..96bf9af9e 100644 --- a/.github/workflows/publish-deb-brew-pkg.yml +++ b/.github/workflows/publish-deb-brew-pkg.yml @@ -15,7 +15,7 @@ jobs: debian: name: Publish debian packagge - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 needs: check-version steps: - uses: hecrj/setup-rust-action@master @@ -38,7 +38,7 @@ jobs: homebrew: name: Bump Homebrew formula - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 needs: check-version steps: - name: Create PR to Homebrew diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 0e92fc706..266e306d6 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-latest, windows-latest] + os: [ubuntu-18.04, macos-latest, windows-latest] steps: - uses: actions/checkout@v3 - name: Cache dependencies @@ -40,7 +40,7 @@ jobs: # We run tests in debug also, to make sure that the debug_assertions are hit test-debug: name: Run tests in debug - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 @@ -58,7 +58,7 @@ jobs: clippy: name: Run Clippy - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 @@ -77,7 +77,7 @@ jobs: fmt: name: Run Rustfmt - runs-on: ubuntu-20.04 + runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 diff --git a/.github/workflows/update-cargo-toml-version.yml b/.github/workflows/update-cargo-toml-version.yml new file mode 100644 index 000000000..faf3b0aaa --- /dev/null +++ b/.github/workflows/update-cargo-toml-version.yml @@ -0,0 +1,47 @@ +name: Update Meilisearch version in all Cargo.toml files + +on: + workflow_dispatch: + inputs: + new_version: + description: 'The new version (vX.Y.Z)' + required: true + +env: + NEW_VERSION: ${{ github.event.inputs.new_version }} + NEW_BRANCH: update-version-${{ github.event.inputs.new_version }} + GH_TOKEN: ${{ secrets.MEILI_BOT_GH_PAT }} + +jobs: + + update-version-cargo-toml: + name: Update version in Cargo.toml files + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + - name: Install sd + run: cargo install sd + - name: Update Cargo.toml files + run: | + raw_new_version=$(echo $NEW_VERSION | cut -d 'v' -f 2) + new_string="version = \"$raw_new_version\"" + sd '^version = "\d+.\d+.\w+"$' "$new_string" */Cargo.toml + - name: Build Meilisearch to update Cargo.lock + run: cargo build + - name: Commit and push the changes to the ${{ env.NEW_BRANCH }} branch + uses: EndBug/add-and-commit@v9 + with: + message: "Update version for the next release (${{ env.NEW_VERSION }}) in Cargo.toml files" + new_branch: ${{ env.NEW_BRANCH }} + - name: Create the PR pointing to ${{ github.ref_name }} + run: | + gh pr create \ + --title "Update version for the next release ($NEW_VERSION) in Cargo.toml files" \ + --body '⚠️ This PR is automatically generated. Check the new version is the expected one before merging.' \ + --label 'skip changelog' \ + --milestone $NEW_VERSION diff --git a/bors.toml b/bors.toml index a29054dfb..b357e8d61 100644 --- a/bors.toml +++ b/bors.toml @@ -1,5 +1,5 @@ status = [ - 'Tests on ubuntu-20.04', + 'Tests on ubuntu-18.04', 'Tests on macos-latest', 'Tests on windows-latest', 'Run Clippy', From 97c202db51a70b518a66e31669ae8fd3165c47eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Lecrenier?= Date: Thu, 6 Oct 2022 10:27:11 +0200 Subject: [PATCH 2/4] Update version for next release (v0.29.1) --- Cargo.lock | 10 +++++----- meilisearch-auth/Cargo.toml | 2 +- meilisearch-http/Cargo.toml | 2 +- meilisearch-lib/Cargo.toml | 2 +- meilisearch-types/Cargo.toml | 2 +- permissive-json-pointer/Cargo.toml | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e9ee22378..7037c0cf7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2009,7 +2009,7 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "meilisearch-auth" -version = "0.29.0" +version = "0.29.1" dependencies = [ "enum-iterator 0.7.0", "hmac", @@ -2026,7 +2026,7 @@ dependencies = [ [[package]] name = "meilisearch-http" -version = "0.29.0" +version = "0.29.1" dependencies = [ "actix-cors", "actix-rt", @@ -2101,7 +2101,7 @@ dependencies = [ [[package]] name = "meilisearch-lib" -version = "0.29.0" +version = "0.29.1" dependencies = [ "actix-rt", "actix-web", @@ -2164,7 +2164,7 @@ dependencies = [ [[package]] name = "meilisearch-types" -version = "0.29.0" +version = "0.29.1" dependencies = [ "actix-web", "proptest", @@ -2534,7 +2534,7 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "permissive-json-pointer" -version = "0.29.0" +version = "0.29.1" dependencies = [ "big_s", "serde_json", diff --git a/meilisearch-auth/Cargo.toml b/meilisearch-auth/Cargo.toml index 470d5b8d1..093a9e4a0 100644 --- a/meilisearch-auth/Cargo.toml +++ b/meilisearch-auth/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "meilisearch-auth" -version = "0.29.0" +version = "0.29.1" edition = "2021" [dependencies] diff --git a/meilisearch-http/Cargo.toml b/meilisearch-http/Cargo.toml index d69e7c21d..487c5dd5c 100644 --- a/meilisearch-http/Cargo.toml +++ b/meilisearch-http/Cargo.toml @@ -4,7 +4,7 @@ description = "Meilisearch HTTP server" edition = "2021" license = "MIT" name = "meilisearch-http" -version = "0.29.0" +version = "0.29.1" [[bin]] name = "meilisearch" diff --git a/meilisearch-lib/Cargo.toml b/meilisearch-lib/Cargo.toml index de967286c..4cd4ad7a3 100644 --- a/meilisearch-lib/Cargo.toml +++ b/meilisearch-lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "meilisearch-lib" -version = "0.29.0" +version = "0.29.1" edition = "2021" [dependencies] diff --git a/meilisearch-types/Cargo.toml b/meilisearch-types/Cargo.toml index e33ea8595..a07708202 100644 --- a/meilisearch-types/Cargo.toml +++ b/meilisearch-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "meilisearch-types" -version = "0.29.0" +version = "0.29.1" authors = ["marin "] edition = "2021" diff --git a/permissive-json-pointer/Cargo.toml b/permissive-json-pointer/Cargo.toml index 8dba2573c..e504a1b68 100644 --- a/permissive-json-pointer/Cargo.toml +++ b/permissive-json-pointer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "permissive-json-pointer" -version = "0.29.0" +version = "0.29.1" edition = "2021" description = "A permissive json pointer" readme = "README.md" From f513ac1233477995e0d83dbb38ed90ad9f6313d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine=20Urquizar?= Date: Thu, 6 Oct 2022 14:03:04 +0200 Subject: [PATCH 3/4] Comment cache steps in jobs --- .github/workflows/rust.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 266e306d6..5c8d562d0 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,8 +24,8 @@ jobs: os: [ubuntu-18.04, macos-latest, windows-latest] steps: - uses: actions/checkout@v3 - - name: Cache dependencies - uses: Swatinem/rust-cache@v2.0.0 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo check without any default features uses: actions-rs/cargo@v1 with: @@ -48,8 +48,8 @@ jobs: profile: minimal toolchain: stable override: true - - name: Cache dependencies - uses: Swatinem/rust-cache@v2.0.0 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2.0.0 - name: Run tests in debug uses: actions-rs/cargo@v1 with: @@ -67,8 +67,8 @@ jobs: toolchain: stable override: true components: clippy - - name: Cache dependencies - uses: Swatinem/rust-cache@v2.0.0 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo clippy uses: actions-rs/cargo@v1 with: @@ -86,7 +86,7 @@ jobs: toolchain: stable override: true components: rustfmt - - name: Cache dependencies - uses: Swatinem/rust-cache@v2.0.0 + # - name: Cache dependencies + # uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo fmt run: cargo fmt --all -- --check From 3ebd88c03ba7a4e0f1b1c2b7cd4b2937cc85b2aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9mentine=20Urquizar?= Date: Mon, 10 Oct 2022 14:46:54 +0200 Subject: [PATCH 4/4] Revert "Comment cache steps in jobs" This reverts commit f513ac1233477995e0d83dbb38ed90ad9f6313d6. --- .github/workflows/rust.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5c8d562d0..266e306d6 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,8 +24,8 @@ jobs: os: [ubuntu-18.04, macos-latest, windows-latest] steps: - uses: actions/checkout@v3 - # - name: Cache dependencies - # uses: Swatinem/rust-cache@v2.0.0 + - name: Cache dependencies + uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo check without any default features uses: actions-rs/cargo@v1 with: @@ -48,8 +48,8 @@ jobs: profile: minimal toolchain: stable override: true - # - name: Cache dependencies - # uses: Swatinem/rust-cache@v2.0.0 + - name: Cache dependencies + uses: Swatinem/rust-cache@v2.0.0 - name: Run tests in debug uses: actions-rs/cargo@v1 with: @@ -67,8 +67,8 @@ jobs: toolchain: stable override: true components: clippy - # - name: Cache dependencies - # uses: Swatinem/rust-cache@v2.0.0 + - name: Cache dependencies + uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo clippy uses: actions-rs/cargo@v1 with: @@ -86,7 +86,7 @@ jobs: toolchain: stable override: true components: rustfmt - # - name: Cache dependencies - # uses: Swatinem/rust-cache@v2.0.0 + - name: Cache dependencies + uses: Swatinem/rust-cache@v2.0.0 - name: Run cargo fmt run: cargo fmt --all -- --check