【问题标题】:How can I create a pull request in GitHub Action when my test fail?当我的测试失败时,如何在 GitHub Action 中创建拉取请求?
【发布时间】:2022-01-13 17:50:00
【问题描述】:
name: Python package

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.6, 3.7, 3.8, 3.9]

    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v2
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install flake8 pytest 
          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
      - name: Lint with flake8
        run: |
          # stop the build if there are Python syntax errors or undefined names
          flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
          # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
          flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
      - name: Test with unittest
        run: |
          python test_rows.py
          python test_number_neighbors.py

这是我的工作流程代码。 据我了解,每次推送或拉取请求发生时 - 它都会运行 test_rows.py 和 test_number_neighbors.py。我需要将失败的测试与通过的测试分开(失败测试应该进入其他拉取请求(例如,称为 FAILED_TESTS)并且应该自动完成。有什么选择吗?

【问题讨论】:

    标签: python github workflow github-actions pull-request


    【解决方案1】:

    您可以在测试步骤中返回非零退出代码,然后创建一个带有下一步的 PR,该 PR 仅在上一步失败时才运行。这是一个简单的例子:

    name: Status check
    
    on:
      workflow_dispatch:
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Test
            run: exit 1
          - name: Status check
            if: ${{ failure() }}
            run: echo Previous step failed!
    

    要创建 PR,您可以使用 gh CLI(在 runnrer 上可用)、script action 或使用任何其他自定义操作来进行 PR(已经有很多可用的)。

    【讨论】:

      猜你喜欢
      • 2021-08-14
      • 2020-02-27
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      相关资源
      最近更新 更多