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.
This commit is contained in:
Loïc Lecrenier 2022-10-06 10:13:50 +02:00 committed by Clémentine Urquizar
parent fa315352da
commit a5e23aa6e4
No known key found for this signature in database
GPG Key ID: D8E7CC7422E77E1A
7 changed files with 59 additions and 12 deletions

View File

@ -6,7 +6,7 @@ name: Execute code coverage
jobs: jobs:
nightly-coverage: nightly-coverage:
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1

View File

@ -5,7 +5,7 @@ on:
jobs: jobs:
flaky: flaky:
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3

View File

@ -35,9 +35,9 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04, macos-latest, windows-latest] os: [ubuntu-18.04, macos-latest, windows-latest]
include: include:
- os: ubuntu-20.04 - os: ubuntu-18.04
artifact_name: meilisearch artifact_name: meilisearch
asset_name: meilisearch-linux-amd64 asset_name: meilisearch-linux-amd64
- os: macos-latest - os: macos-latest
@ -72,7 +72,7 @@ jobs:
matrix: matrix:
include: include:
- build: aarch64 - build: aarch64
os: ubuntu-20.04 os: ubuntu-18.04
target: aarch64-unknown-linux-gnu target: aarch64-unknown-linux-gnu
linker: gcc-aarch64-linux-gnu linker: gcc-aarch64-linux-gnu
use-cross: true use-cross: true

View File

@ -15,7 +15,7 @@ jobs:
debian: debian:
name: Publish debian packagge name: Publish debian packagge
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
needs: check-version needs: check-version
steps: steps:
- uses: hecrj/setup-rust-action@master - uses: hecrj/setup-rust-action@master
@ -38,7 +38,7 @@ jobs:
homebrew: homebrew:
name: Bump Homebrew formula name: Bump Homebrew formula
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
needs: check-version needs: check-version
steps: steps:
- name: Create PR to Homebrew - name: Create PR to Homebrew

View File

@ -21,7 +21,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04, macos-latest, windows-latest] os: [ubuntu-18.04, macos-latest, windows-latest]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Cache dependencies - name: Cache dependencies
@ -40,7 +40,7 @@ jobs:
# We run tests in debug also, to make sure that the debug_assertions are hit # We run tests in debug also, to make sure that the debug_assertions are hit
test-debug: test-debug:
name: Run tests in debug name: Run tests in debug
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
@ -58,7 +58,7 @@ jobs:
clippy: clippy:
name: Run Clippy name: Run Clippy
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
@ -77,7 +77,7 @@ jobs:
fmt: fmt:
name: Run Rustfmt name: Run Rustfmt
runs-on: ubuntu-20.04 runs-on: ubuntu-18.04
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1

View File

@ -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

View File

@ -1,5 +1,5 @@
status = [ status = [
'Tests on ubuntu-20.04', 'Tests on ubuntu-18.04',
'Tests on macos-latest', 'Tests on macos-latest',
'Tests on windows-latest', 'Tests on windows-latest',
'Run Clippy', 'Run Clippy',