name: Publish deb pkg to GitHub release & APT repository & Homebrew

on:
  release:
    types: [released]

jobs:
  check-version:
    name: Check the version validity
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Check release validity
        run: bash .github/scripts/check-release.sh

  debian:
    name: Publish debian packagge
    runs-on: ubuntu-18.04
    needs: check-version
    steps:
    - uses: hecrj/setup-rust-action@master
      with:
        rust-version: stable
    - name: Install cargo-deb
      run: cargo install cargo-deb
    - uses: actions/checkout@v3
    - name: Build deb package
      run: cargo deb -p meilisearch-http -o target/debian/meilisearch.deb
    - name: Upload debian pkg to release
      uses: svenstaro/upload-release-action@v1-release
      with:
        repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
        file: target/debian/meilisearch.deb
        asset_name: meilisearch.deb
        tag: ${{ github.ref }}
    - name: Upload debian pkg to apt repository
      run: curl -F package=@target/debian/meilisearch.deb https://${{ secrets.GEMFURY_PUSH_TOKEN }}@push.fury.io/meilisearch/

  homebrew:
    name: Bump Homebrew formula
    runs-on: ubuntu-18.04
    needs: check-version
    steps:
      - name: Create PR to Homebrew
        uses: mislav/bump-homebrew-formula-action@v1
        with:
          formula-name: meilisearch
        env:
          COMMITTER_TOKEN: ${{ secrets.HOMEBREW_COMMITTER_TOKEN }}
