Git 从 git 操作容器推送时,推送操作不起作用

Git push action is not working when pushing from git action container

我在 master 分支上有一个动作,它在 push/merge 上构建一个包,将其上传到 PyPI,然后签出开发分支,在开发分支中更新版本并推送到开发分支的起源。 Develop 分支有一个监听 push/merge 并做快照发布的动作。 当我推送 develop 操作时,开发操作完美运行并执行快照发布,但是当 master 分支推送时,推送成功 但操作不会被触发。我错过了什么? 下面添加了这两个操作。

name: Build and Upload Package to PyPI | Master Branch

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Set up Python
        uses: actions/setup-python@v1
        with:
          python-version: '3.5'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install setuptools wheel twine
          pip install GitPython
          pip install bumpversion
      - name: Strip 'snapshot' from version
        run:  sed -i 's/-snapshot//g' setup.py
      - name: Build and publish
        env:
          TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
          TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
          TWINE_REPOSITORY_URL: https://pypi.domain.com
        run: |
          python setup.py sdist bdist_wheel
          twine upload dist/*
      - name: Bump Verison and Push to develop
        run: |
          git stash
          git config --local user.email "name@email.com"
          git config --local user.name "username"
          git checkout develop
          python bump_version.py
          cat .bumpversion.cfg
          git remote set-url --push origin https://username:$GITHUB_TOKEN@github.com/repo/path
          git push origin develop
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

name: Build and Upload Package to PyPI | Develop Branch

on:
  push:
    branches:
      - develop

jobs:
  bumpTag_build_and_publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Set up Python
        uses: actions/setup-python@v1
        with:
          python-version: '3.5'
      - name: Install dependencies for setup
        run: |
          python -m pip install --upgrade pip
          pip install setuptools wheel twine
      - name: Build and publish
        env:
          TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
          TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
          TWINE_REPOSITORY_URL: https://pypi.domain.co,
        run: |
          python setup.py sdist bdist_wheel
          twine upload dist/*

前提是secrets.GITHUB_TOKEN有意不允许触发工作流程。如 documention 所示:

(...) if an action pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.

如果您需要通过工作流将您的自动推送 "visible",您需要创建 Personal Access Token, add it to repo secrets,并使用它代替 GITHUB_TOKEN

请注意,如果您使用非股票代币,GitHub 假设您知道自己在做什么 - 这意味着您可以防止可能的无限循环。虽然在您的场景中现在(开发分支不会推送任何东西)不是这种情况,但值得记住的是,以防其中一个工作流程有一天会发生变化。