簡體   English   中英

Github 操作:緩存錯誤並在沒有失敗消息的情況下結束操作

[英]Github Actions: Cache Error and end action without fail message

我有一個 github 操作,它將我的自述文件從一種格式轉換為另一種格式,然后將新的自述文件推送到存儲庫。 對於推動我已經定義了這個工作:

  push_readme:
    name: Push new Readme
    needs: generate_readme
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Download readme result from job 1 generate_readme
        uses: actions/download-artifact@v3
        with:
          name: readme
      - name: Commit files
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          git status
          git add READMEmd.md
          git commit -m "Actions Generated Readme"
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

當沒有要提交的內容時,提交會返回錯誤 - 只要在最近的推送中未更新自述文件,就會發生這種情況。 這是預期的並且很好。 但是,我想正確處理此錯誤 st 該操作只是在它發生時結束而不告訴我它失敗了。 相反,我想要“沒有新的自述文件要提交。結束操作”的意思。

誰能指出我該怎么做? 我還沒有找到解決方案。

您可以使用 Bash 並檢查README文件的git diff ,並為下一步設置帶有GITHUB_OUTPUT 的 output 參數以檢查是否確實存在提交。

這是一個例子:

      - name: Commit files
        id: commit
        run: |
          git config --local user.email "action@github.com"
          git config --local user.name "GitHub Action"
          git status
          if [[ -n $(git diff README.md) ]]; then
            git add README.md
            git commit -m "Actions Generated Readme"
            echo "DONE=true" >> $GITHUB_OUTPUT
          else
            echo "README is the same. Nothing to commit."
          fi
      - name: Push changes
        if: ${{ steps.commit.DONE }}
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM