cli.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
  2. # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
  3. name: mineru
  4. on:
  5. push:
  6. branches:
  7. - "master"
  8. - "dev"
  9. paths-ignore:
  10. - "cmds/**"
  11. - "**.md"
  12. - "**.yml"
  13. pull_request:
  14. branches:
  15. - "master"
  16. - "dev"
  17. paths-ignore:
  18. - "cmds/**"
  19. - "**.md"
  20. - "**.yml"
  21. workflow_dispatch:
  22. jobs:
  23. cli-test:
  24. runs-on: pdf
  25. timeout-minutes: 120
  26. strategy:
  27. fail-fast: true
  28. steps:
  29. - name: PDF cli
  30. uses: actions/checkout@v3
  31. with:
  32. fetch-depth: 2
  33. - name: install
  34. run: |
  35. echo $GITHUB_WORKSPACE && sh tests/retry_env.sh
  36. - name: unit test
  37. run: |
  38. cd $GITHUB_WORKSPACE && python tests/clean_coverage.py
  39. cd $GITHUB_WORKSPACE && export PYTHONPATH=. && coverage run -m pytest tests/test_unit.py --cov=magic_pdf/ --cov-report term-missing --cov-report html
  40. cd $GITHUB_WORKSPACE && python tests/get_coverage.py
  41. - name: cli test
  42. run: |
  43. cd $GITHUB_WORKSPACE && pytest -s -v tests/test_cli/test_cli_sdk.py
  44. notify_to_feishu:
  45. if: ${{ always() && !cancelled() && contains(needs.*.result, 'failure') && (github.ref_name == 'master') }}
  46. needs: cli-test
  47. runs-on: pdf
  48. steps:
  49. - name: get_actor
  50. run: |
  51. metion_list="dt-yy"
  52. echo $GITHUB_ACTOR
  53. if [[ $GITHUB_ACTOR == "drunkpig" ]]; then
  54. metion_list="xuchao"
  55. elif [[ $GITHUB_ACTOR == "myhloli" ]]; then
  56. metion_list="zhaoxiaomeng"
  57. elif [[ $GITHUB_ACTOR == "icecraft" ]]; then
  58. metion_list="xurui1"
  59. fi
  60. echo $metion_list
  61. echo "METIONS=$metion_list" >> "$GITHUB_ENV"
  62. echo ${{ env.METIONS }}
  63. - name: notify
  64. run: |
  65. echo ${{ secrets.USER_ID }}
  66. curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"post","content":{"post":{"zh_cn":{"title":"'${{ github.repository }}' GitHubAction Failed","content":[[{"tag":"text","text":""},{"tag":"a","text":"Please click here for details ","href":"https://github.com/'${{ github.repository }}'/actions/runs/'${GITHUB_RUN_ID}'"},{"tag":"at","user_id":"'${{ secrets.USER_ID }}'"}]]}}}}' ${{ secrets.WEBHOOK_URL }}