name: "llm-cli Flow Verification (Linux)"
description: "Verify the llm-cli flow on linux"

runs:
  using: "composite"
  steps:
    - name: Test llama llm-cli
      shell: bash
      run: |
        llm-cli -t $THREAD_NUM -n 256 -x llama -m $LLAMA_INT4_CKPT_PATH -p 'Once upon a time,'

        timeout 30s llm-cli -t $THREAD_NUM -n 256 -x llama -m $LLAMA_INT4_CKPT_PATH -i -p \
        'A chat between a curious user and a helpful and polite AI assistant. User:Can you tell me a story? AI:' >test.out 2>&1 || true

        if ! grep -q 'A chat between a curious user and a helpful and polite AI assistant.' test.out ; then
          exit 1
        fi
        rm test.out

    - name: Test gptneox llm-cli
      shell: bash
      run: |
        llm-cli -t $THREAD_NUM -n 256 -x gptneox -m $GPTNEOX_INT4_CKPT_PATH -p 'Once upon a time,'

        timeout 30s llm-cli -t $THREAD_NUM -n 256 -x gptneox -m $GPTNEOX_INT4_CKPT_PATH -i -p \
        'A chat between a curious user and a helpful and polite AI assistant. User:Can you tell me a story? AI:' >test.out 2>&1 || true

        if ! grep -q 'A chat between a curious user and a helpful and polite AI assistant.' test.out ; then
          exit 1
        fi
        rm test.out

    - name: Test bloom llm-cli
      shell: bash
      run: |
        llm-cli -t $THREAD_NUM -n 256 -x bloom -m $BLOOM_INT4_CKPT_PATH -p 'Once upon a time,'

    - name: Test starcoder llm-cli
      shell: bash
      run: |
        llm-cli -t $THREAD_NUM -n 256 -x starcoder -m $STARCODER_INT4_CKPT_PATH -p 'def check_odd('

    # - name: Test chatglm llm-cli
    #   shell: bash
    #   run: |
    #     llm-cli -t $THREAD_NUM -n 256 -x chatglm -m $CHATGLM_INT4_CKPT_PATH -p '你好'