From ee15d4fe77a2f262f49ae6996d6edcd627270215 Mon Sep 17 00:00:00 2001 From: Kerollmops Date: Mon, 31 Mar 2025 16:45:08 +0200 Subject: [PATCH] Bump version in the CIs --- .github/workflows/bench-manual.yml | 39 +++-- .github/workflows/bench-pr.yml | 136 +++++++++--------- .github/workflows/bench-push-indexing.yml | 33 +++-- .github/workflows/benchmarks-manual.yml | 8 +- .github/workflows/benchmarks-pr.yml | 2 +- .../workflows/benchmarks-push-indexing.yml | 4 +- .../workflows/benchmarks-push-search-geo.yml | 4 +- .../benchmarks-push-search-songs.yml | 4 +- .../workflows/benchmarks-push-search-wiki.yml | 4 +- .github/workflows/flaky-tests.yml | 2 +- .github/workflows/fuzzer-indexing.yml | 2 +- .github/workflows/publish-apt-brew-pkg.yml | 2 +- .github/workflows/publish-binaries.yml | 8 +- .github/workflows/test-suite.yml | 14 +- .../workflows/update-cargo-toml-version.yml | 4 +- 15 files changed, 132 insertions(+), 134 deletions(-) diff --git a/.github/workflows/bench-manual.yml b/.github/workflows/bench-manual.yml index 09699d94f..afa408bea 100644 --- a/.github/workflows/bench-manual.yml +++ b/.github/workflows/bench-manual.yml @@ -1,28 +1,27 @@ name: Bench (manual) on: - workflow_dispatch: - inputs: - workload: - description: 'The path to the workloads to execute (workloads/...)' - required: true - default: 'workloads/movies.json' + workflow_dispatch: + inputs: + workload: + description: "The path to the workloads to execute (workloads/...)" + required: true + default: "workloads/movies.json" env: - WORKLOAD_NAME: ${{ github.event.inputs.workload }} + WORKLOAD_NAME: ${{ github.event.inputs.workload }} jobs: - benchmarks: - name: Run and upload benchmarks - runs-on: benchmarks - timeout-minutes: 180 # 3h - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 - with: - profile: minimal - - - name: Run benchmarks - workload ${WORKLOAD_NAME} - branch ${{ github.ref }} - commit ${{ github.sha }} - run: | - cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" --reason "Manual [Run #${{ github.run_id }}](https://github.com/meilisearch/meilisearch/actions/runs/${{ github.run_id }})" -- ${WORKLOAD_NAME} + benchmarks: + name: Run and upload benchmarks + runs-on: benchmarks + timeout-minutes: 180 # 3h + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@1.85 + with: + profile: minimal + - name: Run benchmarks - workload ${WORKLOAD_NAME} - branch ${{ github.ref }} - commit ${{ github.sha }} + run: | + cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" --reason "Manual [Run #${{ github.run_id }}](https://github.com/meilisearch/meilisearch/actions/runs/${{ github.run_id }})" -- ${WORKLOAD_NAME} diff --git a/.github/workflows/bench-pr.yml b/.github/workflows/bench-pr.yml index 1bcf16bfc..b533b47c5 100644 --- a/.github/workflows/bench-pr.yml +++ b/.github/workflows/bench-pr.yml @@ -1,82 +1,82 @@ name: Bench (PR) on: - issue_comment: - types: [created] + issue_comment: + types: [created] permissions: - issues: write + issues: write env: - GH_TOKEN: ${{ secrets.MEILI_BOT_GH_PAT }} + GH_TOKEN: ${{ secrets.MEILI_BOT_GH_PAT }} jobs: - run-benchmarks-on-comment: - if: startsWith(github.event.comment.body, '/bench') - name: Run and upload benchmarks - runs-on: benchmarks - timeout-minutes: 180 # 3h - steps: - - name: Check permissions - id: permission - env: - PR_AUTHOR: ${{github.event.issue.user.login }} - COMMENT_AUTHOR: ${{github.event.comment.user.login }} - REPOSITORY: ${{github.repository}} - PR_ID: ${{github.event.issue.number}} - run: | - PR_REPOSITORY=$(gh api /repos/"$REPOSITORY"/pulls/"$PR_ID" --jq .head.repo.full_name) - if $(gh api /repos/"$REPOSITORY"/collaborators/"$PR_AUTHOR"/permission --jq .user.permissions.push) - then - echo "::notice title=Authentication success::PR author authenticated" - else - echo "::error title=Authentication error::PR author doesn't have push permission on this repository" - exit 1 - fi - if $(gh api /repos/"$REPOSITORY"/collaborators/"$COMMENT_AUTHOR"/permission --jq .user.permissions.push) - then - echo "::notice title=Authentication success::Comment author authenticated" - else - echo "::error title=Authentication error::Comment author doesn't have push permission on this repository" - exit 1 - fi - if [ "$PR_REPOSITORY" = "$REPOSITORY" ] - then - echo "::notice title=Authentication success::PR started from main repository" - else - echo "::error title=Authentication error::PR started from a fork" - exit 1 - fi + run-benchmarks-on-comment: + if: startsWith(github.event.comment.body, '/bench') + name: Run and upload benchmarks + runs-on: benchmarks + timeout-minutes: 180 # 3h + steps: + - name: Check permissions + id: permission + env: + PR_AUTHOR: ${{github.event.issue.user.login }} + COMMENT_AUTHOR: ${{github.event.comment.user.login }} + REPOSITORY: ${{github.repository}} + PR_ID: ${{github.event.issue.number}} + run: | + PR_REPOSITORY=$(gh api /repos/"$REPOSITORY"/pulls/"$PR_ID" --jq .head.repo.full_name) + if $(gh api /repos/"$REPOSITORY"/collaborators/"$PR_AUTHOR"/permission --jq .user.permissions.push) + then + echo "::notice title=Authentication success::PR author authenticated" + else + echo "::error title=Authentication error::PR author doesn't have push permission on this repository" + exit 1 + fi + if $(gh api /repos/"$REPOSITORY"/collaborators/"$COMMENT_AUTHOR"/permission --jq .user.permissions.push) + then + echo "::notice title=Authentication success::Comment author authenticated" + else + echo "::error title=Authentication error::Comment author doesn't have push permission on this repository" + exit 1 + fi + if [ "$PR_REPOSITORY" = "$REPOSITORY" ] + then + echo "::notice title=Authentication success::PR started from main repository" + else + echo "::error title=Authentication error::PR started from a fork" + exit 1 + fi - - name: Check for Command - id: command - uses: xt0rted/slash-command-action@v2 - with: - command: bench - reaction-type: "rocket" - repo-token: ${{ env.GH_TOKEN }} + - name: Check for Command + id: command + uses: xt0rted/slash-command-action@v2 + with: + command: bench + reaction-type: "rocket" + repo-token: ${{ env.GH_TOKEN }} - - uses: xt0rted/pull-request-comment-branch@v3 - id: comment-branch - with: - repo_token: ${{ env.GH_TOKEN }} + - uses: xt0rted/pull-request-comment-branch@v3 + id: comment-branch + with: + repo_token: ${{ env.GH_TOKEN }} - - uses: actions/checkout@v3 - if: success() - with: - fetch-depth: 0 # fetch full history to be able to get main commit sha - ref: ${{ steps.comment-branch.outputs.head_ref }} + - uses: actions/checkout@v3 + if: success() + with: + fetch-depth: 0 # fetch full history to be able to get main commit sha + ref: ${{ steps.comment-branch.outputs.head_ref }} - - uses: dtolnay/rust-toolchain@1.81 - with: - profile: minimal + - uses: dtolnay/rust-toolchain@1.85 + with: + profile: minimal - - name: Run benchmarks on PR ${{ github.event.issue.id }} - run: | - cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" \ - --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" \ - --reason "[Comment](${{ github.event.comment.html_url }}) on [#${{ github.event.issue.number }}](${{ github.event.issue.html_url }})" \ - -- ${{ steps.command.outputs.command-arguments }} > benchlinks.txt + - name: Run benchmarks on PR ${{ github.event.issue.id }} + run: | + cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" \ + --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" \ + --reason "[Comment](${{ github.event.comment.html_url }}) on [#${{ github.event.issue.number }}](${{ github.event.issue.html_url }})" \ + -- ${{ steps.command.outputs.command-arguments }} > benchlinks.txt - - name: Send comment in PR - run: | - gh pr comment ${{github.event.issue.number}} --body-file benchlinks.txt + - name: Send comment in PR + run: | + gh pr comment ${{github.event.issue.number}} --body-file benchlinks.txt diff --git a/.github/workflows/bench-push-indexing.yml b/.github/workflows/bench-push-indexing.yml index 0fca05f24..f35f60398 100644 --- a/.github/workflows/bench-push-indexing.yml +++ b/.github/workflows/bench-push-indexing.yml @@ -1,23 +1,22 @@ name: Indexing bench (push) on: - push: - branches: - - main + push: + branches: + - main jobs: - benchmarks: - name: Run and upload benchmarks - runs-on: benchmarks - timeout-minutes: 180 # 3h - steps: - - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 - with: - profile: minimal - - # Run benchmarks - - name: Run benchmarks - Dataset ${BENCH_NAME} - Branch main - Commit ${{ github.sha }} - run: | - cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" --reason "Push on `main` [Run #${{ github.run_id }}](https://github.com/meilisearch/meilisearch/actions/runs/${{ github.run_id }})" -- workloads/*.json + benchmarks: + name: Run and upload benchmarks + runs-on: benchmarks + timeout-minutes: 180 # 3h + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@1.85 + with: + profile: minimal + # Run benchmarks + - name: Run benchmarks - Dataset ${BENCH_NAME} - Branch main - Commit ${{ github.sha }} + run: | + cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" --reason "Push on `main` [Run #${{ github.run_id }}](https://github.com/meilisearch/meilisearch/actions/runs/${{ github.run_id }})" -- workloads/*.json diff --git a/.github/workflows/benchmarks-manual.yml b/.github/workflows/benchmarks-manual.yml index 044f8a827..27e736979 100644 --- a/.github/workflows/benchmarks-manual.yml +++ b/.github/workflows/benchmarks-manual.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: dataset_name: - description: 'The name of the dataset used to benchmark (search_songs, search_wiki, search_geo or indexing)' + description: "The name of the dataset used to benchmark (search_songs, search_wiki, search_geo or indexing)" required: false - default: 'search_songs' + default: "search_songs" env: BENCH_NAME: ${{ github.event.inputs.dataset_name }} @@ -18,7 +18,7 @@ jobs: timeout-minutes: 4320 # 72h steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal @@ -67,7 +67,7 @@ jobs: out_dir: critcmp_results # Helper - - name: 'README: compare with another benchmark' + - name: "README: compare with another benchmark" run: | echo "${{ steps.file.outputs.basename }}.json has just been pushed." echo 'How to compare this benchmark with another one?' diff --git a/.github/workflows/benchmarks-pr.yml b/.github/workflows/benchmarks-pr.yml index 78f27541c..ad669b648 100644 --- a/.github/workflows/benchmarks-pr.yml +++ b/.github/workflows/benchmarks-pr.yml @@ -44,7 +44,7 @@ jobs: exit 1 fi - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal diff --git a/.github/workflows/benchmarks-push-indexing.yml b/.github/workflows/benchmarks-push-indexing.yml index 0144e20cf..996162d9c 100644 --- a/.github/workflows/benchmarks-push-indexing.yml +++ b/.github/workflows/benchmarks-push-indexing.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 4320 # 72h steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal @@ -69,7 +69,7 @@ jobs: run: telegraf --config https://eu-central-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/08b52e34a370b000 --once --debug # Helper - - name: 'README: compare with another benchmark' + - name: "README: compare with another benchmark" run: | echo "${{ steps.file.outputs.basename }}.json has just been pushed." echo 'How to compare this benchmark with another one?' diff --git a/.github/workflows/benchmarks-push-search-geo.yml b/.github/workflows/benchmarks-push-search-geo.yml index cce6cb9b9..e9a81c6a3 100644 --- a/.github/workflows/benchmarks-push-search-geo.yml +++ b/.github/workflows/benchmarks-push-search-geo.yml @@ -15,7 +15,7 @@ jobs: runs-on: benchmarks steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal @@ -68,7 +68,7 @@ jobs: run: telegraf --config https://eu-central-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/08b52e34a370b000 --once --debug # Helper - - name: 'README: compare with another benchmark' + - name: "README: compare with another benchmark" run: | echo "${{ steps.file.outputs.basename }}.json has just been pushed." echo 'How to compare this benchmark with another one?' diff --git a/.github/workflows/benchmarks-push-search-songs.yml b/.github/workflows/benchmarks-push-search-songs.yml index 2ba584a69..e5019063e 100644 --- a/.github/workflows/benchmarks-push-search-songs.yml +++ b/.github/workflows/benchmarks-push-search-songs.yml @@ -15,7 +15,7 @@ jobs: runs-on: benchmarks steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal @@ -68,7 +68,7 @@ jobs: run: telegraf --config https://eu-central-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/08b52e34a370b000 --once --debug # Helper - - name: 'README: compare with another benchmark' + - name: "README: compare with another benchmark" run: | echo "${{ steps.file.outputs.basename }}.json has just been pushed." echo 'How to compare this benchmark with another one?' diff --git a/.github/workflows/benchmarks-push-search-wiki.yml b/.github/workflows/benchmarks-push-search-wiki.yml index 2436cc356..1e9d97a6e 100644 --- a/.github/workflows/benchmarks-push-search-wiki.yml +++ b/.github/workflows/benchmarks-push-search-wiki.yml @@ -15,7 +15,7 @@ jobs: runs-on: benchmarks steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal @@ -68,7 +68,7 @@ jobs: run: telegraf --config https://eu-central-1-1.aws.cloud2.influxdata.com/api/v2/telegrafs/08b52e34a370b000 --once --debug # Helper - - name: 'README: compare with another benchmark' + - name: "README: compare with another benchmark" run: | echo "${{ steps.file.outputs.basename }}.json has just been pushed." echo 'How to compare this benchmark with another one?' diff --git a/.github/workflows/flaky-tests.yml b/.github/workflows/flaky-tests.yml index a87869f13..66be5b823 100644 --- a/.github/workflows/flaky-tests.yml +++ b/.github/workflows/flaky-tests.yml @@ -17,7 +17,7 @@ jobs: run: | apt-get update && apt-get install -y curl apt-get install build-essential -y - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Install cargo-flaky run: cargo install cargo-flaky - name: Run cargo flaky in the dumps diff --git a/.github/workflows/fuzzer-indexing.yml b/.github/workflows/fuzzer-indexing.yml index 5da7f73ed..cf7dd5bdc 100644 --- a/.github/workflows/fuzzer-indexing.yml +++ b/.github/workflows/fuzzer-indexing.yml @@ -12,7 +12,7 @@ jobs: timeout-minutes: 4320 # 72h steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal diff --git a/.github/workflows/publish-apt-brew-pkg.yml b/.github/workflows/publish-apt-brew-pkg.yml index 47d8d9665..e6adfca57 100644 --- a/.github/workflows/publish-apt-brew-pkg.yml +++ b/.github/workflows/publish-apt-brew-pkg.yml @@ -25,7 +25,7 @@ jobs: run: | apt-get update && apt-get install -y curl apt-get install build-essential -y - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Install cargo-deb run: cargo install cargo-deb - uses: actions/checkout@v3 diff --git a/.github/workflows/publish-binaries.yml b/.github/workflows/publish-binaries.yml index 27b89b02b..885a04d0d 100644 --- a/.github/workflows/publish-binaries.yml +++ b/.github/workflows/publish-binaries.yml @@ -45,7 +45,7 @@ jobs: run: | apt-get update && apt-get install -y curl apt-get install build-essential -y - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Build run: cargo build --release --locked # No need to upload binaries for dry run (cron) @@ -75,7 +75,7 @@ jobs: asset_name: meilisearch-windows-amd64.exe steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Build run: cargo build --release --locked # No need to upload binaries for dry run (cron) @@ -101,7 +101,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 - name: Installing Rust toolchain - uses: dtolnay/rust-toolchain@1.81 + uses: dtolnay/rust-toolchain@1.85 with: profile: minimal target: ${{ matrix.target }} @@ -148,7 +148,7 @@ jobs: add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update -y && apt-get install -y docker-ce - name: Installing Rust toolchain - uses: dtolnay/rust-toolchain@1.81 + uses: dtolnay/rust-toolchain@1.85 with: profile: minimal target: ${{ matrix.target }} diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml index a13d51086..8daa32e35 100644 --- a/.github/workflows/test-suite.yml +++ b/.github/workflows/test-suite.yml @@ -27,7 +27,7 @@ jobs: apt-get update && apt-get install -y curl apt-get install build-essential -y - name: Setup test with Rust stable - uses: dtolnay/rust-toolchain@1.81 + uses: dtolnay/rust-toolchain@1.85 - name: Cache dependencies uses: Swatinem/rust-cache@v2.7.7 - name: Run cargo check without any default features @@ -52,7 +52,7 @@ jobs: - uses: actions/checkout@v3 - name: Cache dependencies uses: Swatinem/rust-cache@v2.7.7 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Run cargo check without any default features uses: actions-rs/cargo@v1 with: @@ -77,7 +77,7 @@ jobs: run: | apt-get update apt-get install --assume-yes build-essential curl - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Run cargo build with almost all features run: | cargo build --workspace --locked --release --features "$(cargo xtask list-features --exclude-feature cuda,test-ollama)" @@ -129,7 +129,7 @@ jobs: run: | apt-get update apt-get install --assume-yes build-essential curl - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Run cargo tree without default features and check lindera is not present run: | if cargo tree -f '{p} {f}' -e normal --no-default-features | grep -qz lindera; then @@ -153,7 +153,7 @@ jobs: run: | apt-get update && apt-get install -y curl apt-get install build-essential -y - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 - name: Cache dependencies uses: Swatinem/rust-cache@v2.7.7 - name: Run tests in debug @@ -167,7 +167,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal components: clippy @@ -184,7 +184,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal toolchain: nightly-2024-07-09 diff --git a/.github/workflows/update-cargo-toml-version.yml b/.github/workflows/update-cargo-toml-version.yml index cda76e6bb..d13a4404a 100644 --- a/.github/workflows/update-cargo-toml-version.yml +++ b/.github/workflows/update-cargo-toml-version.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: new_version: - description: 'The new version (vX.Y.Z)' + description: "The new version (vX.Y.Z)" required: true env: @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: dtolnay/rust-toolchain@1.81 + - uses: dtolnay/rust-toolchain@1.85 with: profile: minimal - name: Install sd