name: export-ced-to-onnx

on:
  workflow_dispatch:

concurrency:
  group: export-ced-to-onnx-${{ github.ref }}
  cancel-in-progress: true

jobs:
  export-ced-to-onnx:
    if: github.repository_owner == 'k2-fsa' || github.repository_owner == 'csukuangfj'
    name: export ced
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
        python-version: ["3.8"]

    steps:
      - uses: actions/checkout@v4

      - name: Setup Python ${{ matrix.python-version }}
        uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python-version }}

      - name: Run
        shell: bash
        run: |
          cd scripts/ced
          ./run.sh

      - name: Release
        uses: svenstaro/upload-release-action@v2
        with:
          file_glob: true
          file: ./*.tar.bz2
          overwrite: true
          repo_name: k2-fsa/sherpa-onnx
          repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
          tag: audio-tagging-models

      - name: Publish to huggingface
        env:
          HF_TOKEN: ${{ secrets.HF_TOKEN }}
        uses: nick-fields/retry@v3
        with:
          max_attempts: 20
          timeout_seconds: 200
          shell: bash
          command: |
            git config --global user.email "csukuangfj@gmail.com"
            git config --global user.name "Fangjun Kuang"

            models=(
              tiny
              mini
              small
              base
            )

            for m in ${models[@]}; do
              rm -rf huggingface
              export GIT_LFS_SKIP_SMUDGE=1
              d=sherpa-onnx-ced-$m-audio-tagging-2024-04-19
              export GIT_CLONE_PROTECTION_ACTIVE=false
              git clone https://huggingface.co/k2-fsa/$d huggingface
              mv -v $d/* huggingface
              cd huggingface
              git lfs track "*.onnx"
              git status
              git add .
              git status
              git commit -m "first commit"
              git push https://csukuangfj:$HF_TOKEN@huggingface.co/k2-fsa/$d main
              cd ..
            done
