# This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python name: PDF on: push: branches: - "master" paths-ignore: - "cmds/**" - "**.md" pull_request: branches: - "master" paths-ignore: - "cmds/**" - "**.md" workflow_dispatch: jobs: cli-test: runs-on: pdf timeout-minutes: 40 strategy: fail-fast: true steps: - name: config-net run: | export http_proxy=http://bigdata_open_proxy:H89k5qwQRDYfz@10.140.90.20:10811 export https_proxy=http://bigdata_open_proxy:H89k5qwQRDYfz@10.140.90.20:10811 - name: PDF cli uses: actions/checkout@v3 with: fetch-depth: 2 - name: check-requirements run: | changed_files=$(git diff --name-only -r HEAD~1 HEAD) echo $changed_files if [[ $changed_files =~ "requirements.txt" ]]; then pip install -r requirements.txt fi - name: config-net-reset run: | export http_proxy="" export https_proxy="" - name: test_cli run: | echo $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE && pytest -s -v tests/test_cli/test_cli.py notify_to_feishu: if: ${{ always() && !cancelled() && contains(needs.*.result, 'failure') && (github.ref_name == 'master') }} needs: [cli-test] runs-on: pdf env: metion_list: "quyuan" steps: - name: get_actor run: | echo $metion_list if [[ $GITHUB_ACTOR == "drunkpig" ]]; then metion_list = "xuchao" elif [[ $GITHUB_ACTOR == "myhloli" ]]; then metion_list = "zhaoxiaomeng" elif [[ $GITHUB_ACTOR == "icecraft" ]]; then metion_list = "xurui1" fi - name: notify run: | curl ${{ secrets.WEBHOOK_URL }} -H 'Content-Type: application/json' -d '{ "msgtype": "text", "text": { "mentioned_list": [${{ metion_list }}] , "content": "'${{ github.repository }}' GitHubAction Failed!\n 细节请查看:https://github.com/'${{ github.repository }}'/actions/runs/'${GITHUB_RUN_ID}'" } }'