如何通过sbt发布插件推送到受GitHub保护的分支



TL;博士:使用sot-release插件和GitHub保护的分支的正确工作流程是什么?

我使用sot-release插件是为了自动增加项目版本文件,并将其提交到main分支。此外,我想将main分支设置为受GitHub保护的分支。

为了做到这一点,我为CI流创建了一个GitHub令牌,并授予它推送权限。

流程如下:一旦PR被审查并合并到main(受保护的分支),就会在GitHub Actions中执行更多的测试,最后一步是调用sbt任务来创建发布。此任务使用sot-release插件来推送存储库中版本文件的更改。

但是,CI流无法将更改推送到受保护的分支:

[info] remote: error: GH006: Protected branch update failed for refs/heads/master.        
49
[info] remote: error: 3 of 3 required status checks are expected.        
50
[info] To https://github.com/piplcom/dap-test
51
[info]  ! [remote rejected] master -> master (protected branch hook declined)

什么是正确的工作流程?我在这里缺了什么?

如"如何解决GH006保护分支更新失败的问题";Paul Mowat的解决方案是使用一个带有令牌的专用帐户:

  • 创建一个专门用于构建的新Github用户
  • 为有权访问repo的用户创建一个新的个人访问令牌
  • 将个人访问令牌添加为Github机密,例如BUILD_SVC_PAT
  • 更新分支保护并将新生成用户添加到"限制可以推送到匹配分支的用户">
  • 更新您的Github操作以使用Github机密检查代码
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checking out...
uses: actions/checkout@v2
with:
token: ${{ secrets.BUILD_SVC_PAT }}

OP matan已经做到了,但在评论中添加了:

这是我的错:我们使用了sbt-github-actions插件,在发布阶段也错过了GitHub令牌的设置
现在可以按预期工作了!

相关内容

  • 没有找到相关文章

最新更新