name: Look for flaky tests

on:
  workflow_dispatch:
  schedule:
    - cron: "0 12 * * FRI" # Every Friday at 12:00PM

jobs:
  flaky:
    runs-on: ubuntu-latest
    container:
      # Use ubuntu-22.04 to compile with glibc 2.35
      image: ubuntu:22.04
    steps:
      - uses: actions/checkout@v3
      - name: Install needed dependencies
        run: |
          apt-get update && apt-get install -y curl
          apt-get install build-essential -y
      - uses: dtolnay/rust-toolchain@1.81
      - name: Install cargo-flaky
        run: cargo install cargo-flaky
      - name: Run cargo flaky in the dumps
        run: cd crates/dump; cargo flaky -i 100 --release
      - name: Run cargo flaky in the index-scheduler
        run: cd crates/index-scheduler; cargo flaky -i 100 --release
      - name: Run cargo flaky in the auth
        run: cd crates/meilisearch-auth; cargo flaky -i 100 --release
      - name: Run cargo flaky in meilisearch
        run: cd crates/meilisearch; cargo flaky -i 100 --release
