Github 发布操作 - 推送失败

Posted

技术标签:

【中文标题】Github 发布操作 - 推送失败【英文标题】:Github action on release - push fails 【发布时间】:2021-11-22 05:14:29 【问题描述】:

我正在尝试使用 GitHub(发布)操作更新我的 Maven 项目中 pom.xml 中的版本,并使用 UI / 创建发布标签中提供的值。

name: Publish package to GitHub Repository
on:
  release:
       types: [created]

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2
        with:
         fetch-depth: '0'
      - name: Install Java and Maven
        uses: actions/setup-java@v1
        with:
          java-version: 11
      - name: Update version in pom.xml (Release only)
        run: mvn -B versions:set -DnewVersion=$ github.event.release.tag_name  -DgenerateBackupPoms=false
      - name: Commit and push changes to pom.
        run: |
          git config --global user.name "GitHub Actions"
          git config --global user.email "no-reply@example.com"
          git add pom.xml
          git commit -m "Bumped version to $ github.event.release.tag_name "
          git push
      - name: Deploy to Github Package Registry
        env:
          GITHUB_USERNAME: $ github.actor 
          GITHUB_TOKEN: $ secrets.GITHUB_TOKEN 
        run: mvn --settings settings.xml --file pom.xml deploy

但是,我收到一个错误:

Run git config --global user.name "GitHub Actions"
[detached HEAD 5ec5465] Bumped version to 1.0.4
 1 file changed, 1 insertion(+), 1 deletion(-)
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use

    git push origin HEAD:<name-of-remote-branch>

我真的不明白为什么会这样。我认为 git checkout 会给我一个带有默认 (main) 分支的本地 git repo,我提交然后推送(如果没有其他更改应该可以工作?)。另外,对于这个答案:https://***.com/a/58257219/461499,唯一的区别似乎是on 配置?

我做错了什么? (我应该怎么做呢?)

【问题讨论】:

【参考方案1】:

默认情况下,checkout 操作将检查触发工作流的引用。

来自documentation:

签出触发工作流的存储库时,默认为该事件的引用或 SHA。

在您的情况下,事件是发布版本的创建,它不属于 Git 存储库。

如果你想签出一个特定的分支,你可以通过指定ref option:

steps:
  - name: Check out Git repository
    uses: actions/checkout@v2
    with:
      ref: main
      fetch-depth: '0'

【讨论】:

啊。谢谢!明确引用分支是解决方案:)

以上是关于Github 发布操作 - 推送失败的主要内容,如果未能解决你的问题,请参考以下文章

赛普拉斯 Github 操作失败

GitHub 身份验证通过 https 失败,返回错误的电子邮件地址

有没有办法通过 GitHub 操作推送更改?

Github action bot 推送到 gh-pages 导致页面构建失败

Github 操作在构建期间未识别秘密值

GitHub“连接到 github 失败”没有错误