【发布时间】:2021-07-21 14:14:39
【问题描述】:
对于ruptures python 包,我们使用 Github Actions 对每个应该合并到master 的 PR 运行测试。到目前为止,它工作得很好。但是几天以来,这个 Gh Actions 一直卡住,最终在超时(360 分钟)时失败。
请查找here 特定运行中的症状示例。
请找到 here 执行测试的 Gh Actions 代码。它在几个 python 版本和操作系统上有一个strategy matrix。
name: Run tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
os: [ubuntu-latest, windows-latest, macos-latest]
exclude:
- os: windows-latest
python-version: 3.9
runs-on: ${{ matrix.os }}
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 ruptures
run: |
python -m pip install --upgrade pip
python -m pip install .[test]
- name: Test with pytest
run: |
python -m pytest
据我所知,没有错误,只是卡住了。据我所知,它始终停留在strategy matrix 组合的第一个元素上,即对我们来说它是 python v3.6(这是矩阵可能性中最低的)。但同样,不确定它是否与此相关,因为没有错误,只是超时,没有关于出错的具体消息(除非我没有找到正确的地方)。
由于我认为这可能与 Gh 在 matrix 上的太多组合作业迷路有关,因此我尝试在 strategy 中指定 max-parallel: 2。但它并没有解决任何问题。
出于同样的原因,我尝试从strategy matrix 中删除 python v3.6,以查看 python v3.6 是否是特定问题。但它不能解决任何问题,Gh Actions 只是停留在 Python v3.7 而不是 v3.6 上。请参阅here 以查看运行情况。
测试在本地顺利运行。
我不知道是什么原因导致了这种行为,更何况这个 Gh Actions 过去几个月都可以毫无问题地运行。
【问题讨论】:
-
仅供参考,我试图通过列出 3 个作业来扁平化操作系统维度上的
matrix。所以matrix只剩下 python 版本维度了。它没有解决任何问题。请参阅here 了解运行情况。 -
貌似是
pip相关的问题……很奇怪:github.com/deepcharles/ruptures/runs/… -
升级pip有什么特别的原因吗?你能省略这一步,看看会发生什么吗?
-
非常感谢@jidicula 的评论。我能够调查并找到一个可行的解决方案!
标签: python github pip github-actions