【问题标题】:GitHub action runs twice on mergeGitHub 操作在合并时运行两次
【发布时间】:2021-04-04 09:25:55
【问题描述】:

我有一个构建和部署 GitHub 操作,该操作在我更新我的 GitHub 页面存储库时运行。此外,我还有一个使用 I store 更新食谱的工具。

大多数情况下它运行良好,但偶尔我从手机更新(使用工作副本)并进行合并,然后每个操作运行两次,所有操作都由同一次推送触发。配方更新操作两次都成功。

然而,当这种情况发生时,其中一个构建和部署操作会失败,并出现类似“! [远程拒绝] master -> gh-pages (cannot lock ref 'refs/heads/gh-pages': is at 37c581108d857f9d9c8fe584103d78e4473d280b but expected ceaf2249cc2f7864f0269e64d372fc40ce0b06e0)”

它不会破坏任何东西,但我不确定它为什么会发生,我想修复它。

构建和部署


on:
  push:
    branches:
      - main
  schedule:
    - cron:  '0 */2 * * *'
  workflow_dispatch:


jobs:

  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Code
        uses: actions/checkout@v2
        with:
          persist-credentials: false

      - name: Setup Python Environment
        uses: actions/setup-python@v2
        with:
          python-version: 3.8
        
      - name: Install Requirements
        run: pip install -r requirements.txt

      - name: Execute Python script
        run: |
          python3 -m papexp
        env:
          EMAIL: ${{ secrets.EMAIL }}
          PASSWORD: ${{ secrets.PASSWORD }}

      - name: setup git config
        run: |
          git config --local user.name ${{ secrets.USERNAME_GITHUB }}
          git config --local user.email ${{ secrets.EMAIL }}
          git pull --ff-only origin main
          git add images/recipes/*
          git add .
          git commit -am "Update recipes" || echo "Nothing to update"
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}

【问题讨论】:

    标签: github github-pages github-actions


    【解决方案1】:

    我认为该操作不会因为一次推送而运行两次,而且我认为这与您是否从手机更新无关。

    您的操作在您推送到 main 时运行,但它每 2 小时运行一次。因此,当推送触发的操作与计划的操作同时运行时,有时您会遇到冲突。

    如果您需要在两种情况下(触发和计划)运行该操作,并且如果偶尔发生的冲突不会给您带来问题,那么我只能忍受 TBH。尝试实现某种锁定机制来避免冲突可能比它的价值付出更多的努力。

    【讨论】:

      猜你喜欢
      • 2022-01-05
      • 2020-04-19
      • 2022-08-17
      • 2022-08-11
      • 1970-01-01
      • 2022-09-28
      • 2020-12-15
      • 2022-01-06
      • 1970-01-01
      相关资源
      最近更新 更多