我的团队有一个GitHub发布工作流程,可以在push上自动标记prod分支。在过去的一年里,它一直运转良好,最近的一次成功是2022年5月2日。这个工作流在2022年5月11日失败了,现在我不知道它是如何工作的。5月5日发布了一个新的git版本,但是我已经看过了所有的变化,没有什么是显而易见的。
错误是:
Run git push --tags
git push --tags
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.8.12/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.8.12/x64/lib
To github.com:ORGANIZATION/PACKAGE.git
! [remote rejected] PACKAGE/v0.3.13 -> PACKAGE/v0.3.13 (shallow update not allowed)
error: failed to push some refs to 'github.com:ORGANIZATION/PACKAGE.git'
Error: Process completed with exit code 1.下面是工作流步骤失败的一个最小示例:
check:
runs-on: ubuntu-latest
needs: correct_repository
steps:
- name: Check out code
uses: actions/checkout@v2
with:
ssh-key: ${{ secrets.DEPLOY_MACHINE_SSH }}
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install bump2version
run: python -m pip install bump2version
- name: Extract package version
id: package
run: |
echo -n "::set-output name=version::"
bump2version --dry-run --list patch | grep ^current_version | sed -r s,"^.*=",,
- name: Tag package
run: git tag PACKAGE/v${{ steps.package.outputs.version }}
- name: Publish tags
run: git push --tags
outputs:
package-version: ${{ steps.package.outputs.version }}实际的步骤稍微复杂一些,但是当我通过复制粘贴shell命令从工作流日志进行本地模拟时,上面的步骤就失败了。
据我所知,默认情况下,行动/结帐使用深度1对存储库进行浅克隆,并且已经这样做了相当长的时间(最后一次成功的运行指定了深度1)。从目前尚不清楚“推入/从浅层回购”应如何表现。开始,你就不应该从浅薄的克隆中推出来了。
这个工作流应该失败是有道理的,但是:
https://stackoverflow.com/questions/72220249
复制相似问题