Jen*_*ger 3 pull-request github-actions
我实现了一个每周运行一次的工作流程,更新所有项目依赖项,并使用工作流程令牌打开一个包含更改的 PR。
name: Automatic dependency update
"on":
workflow_dispatch: null
schedule:
- cron: 0 0 * * 1
jobs:
update:
name: Update to latest versions
runs-on:
- self-hosted
- default-runner
steps:
- name: Checkout Project
uses: actions/checkout@v2
- name: Install Java
uses: actions/setup-java@v2
- name: Update Versions
run: |
./gradlew useLatestVersions --info
- name: Commit and open PR
uses: peter-evans/create-pull-request@v3
with:
commit-message: Update to latest versions
committer: Update Bot <workflow@xxx.com>
branch: auto-dependency-update
base: dev
delete-branch: true
title: Automatic dependency update
draft: false
team-reviewers: XX/teamname
body: Automated gradle dependency updates
Run Code Online (Sandbox Code Playgroud)
问题是,对于此 PR,不会触发正常工作流程(PR 合并所必需的)。
name: Build pipeline
"on":
workflow_dispatch: null
pull_request:
branches:
- dev
push:
branches:
- '!master'
- '**'
defaults:
run:
shell: bash
jobs:
build:
name: Compile
runs-on:
- self-hosted
- default-runner
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: actions/setup-java@v2
- name: Compile code
run: |
./gradlew classes testClasses --info
# ...
Run Code Online (Sandbox Code Playgroud)
当我手动将某些内容推送到该分支时,就会触发工作流程。但是,当我将以下步骤添加到版本更新工作流程时,工作流程也不会被触发。
那我能做什么呢?我不想显式地触发工作流程(例如使用benc-uk/workflow-dispatch@v1)以保持更新机制尽可能通用。
根据官方文档
当您使用存储库
GITHUB_TOKEN执行任务时,触发的事件GITHUB_TOKEN不会创建新的工作流运行。
这可以防止您意外创建递归工作流运行。例如,如果工作流运行使用存储库的 推送代码
GITHUB_TOKEN,则即使存储库包含配置为在推送事件发生时运行的工作流,新工作流也不会运行。
有关更多信息,请参阅“使用 GITHUB_TOKEN 进行身份验证”。
您用于打开 PR 的操作还在“输入”部分中指出您GITHUB_TOKEN也可以更改范围,或使用PAT:
GITHUB_TOKEN (权限
contents: write和pull-requests: write)或存储库范围的个人访问令牌 (PAT)。
因此,您只需使用密钥token向peter-evans/create-pull-request操作添加输入,即可从另一个工作流程触发工作流程。
| 归档时间: |
|
| 查看次数: |
1989 次 |
| 最近记录: |