当工作流测试失败时,如何避免推入Github?

2024-05-29 02:11:12 发布

您现在位置:Python中文网/ 问答频道 /正文

在提交之前,我创建工作流来测试我的Python应用程序。问题是,如果测试失败,无论如何都会推送提交。如果测试不成功,我如何添加一个条件来避免推送

下面是工作流文件.yml的结构

`name:Python应用程序 关于: 推送: 分支机构:[硕士] 拉拽请求: 分支机构:[硕士]

工作: 建造:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
  uses: actions/setup-python@v1
  with:
    python-version: 3.8
- name: Install dependencies
  run: |
    python -m pip install --upgrade pip
    pip install -r requirements.txt
- name: Lint with flake8
  run: |
    pip install flake8
    # 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 pytest
  run: |
    pip install pytest
    pytest`

Test fail screenshot


Tags: installpiprunnameactions应用程序flake8pytest
1条回答
网友
1楼 · 发布于 2024-05-29 02:11:12

由于以下几个原因,您实际上无法阻止CI系统的推送

首先,您的CI系统需要具有对要推送的数据的访问权限,这意味着它必须位于某个存储库中,以便可以获取。第二,CI系统可能需要很长时间才能运行,在CI系统运行时,没有人愿意等待成功或失败。如果你在一天工作结束前就推了怎么办

通常执行此操作的方法是推送到分支,让CI系统运行,然后将其合并。如果您与多个人一起工作,那么使用拉取请求并将CI设置为在打开或更新CI时运行是正确的做法。否则,您只需将工作流设置为在所有分支上操作(类似于此),然后在分支通过时合并分支:

on: push

相关问题 更多 >

    热门问题