GitHub检查在工作流运行推送后重置其状态



我有两个工作流,必须在每个PR上运行:第一个工作流验证JSON,第二个工作流生成一些更改,并将它们作为单独的提交推送到同一PR的分支(这样您就可以手动查看生成的代码(。在第二工作流的推送之后,它们二者都将它们的状态改变为"0";预期——等待报告状态";尽管两个工作流程都已成功完成,但还是像这样挂起。

是否可以设置第二个工作流,使其推送不需要任何检查?我试过:

  1. 更改触发器:用于生成工作流-拉取请求:〔打开,重新打开〕,以及;验证json";只有在生成成功之后,工作流才起作用
  2. 用这两个字做一份工作也无济于事
  3. 使用EndBug/add-and-commit@v9操作而不是
run: | 
# some generation commands
# ...
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git diff --staged --quiet || git commit -m "GitHub Action generated"
git push

也无济于事。

以下是我对这两个工作流的yml配置:

generate_blurhashes.yml

name: Generate-blurhash
on:
pull_request:
types: [opened, reopened]
jobs:
Generate-blurhash:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Generate blurhashes in JSON files
run: | 
pip install blurhash-python
python ci_scripts/blurhash_generator.py
- uses: EndBug/add-and-commit@v9

validate_json.yml

name: Validate-JSON
on:
pull_request:
types: [opened, reopened]
jobs:
Validate-JSON:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Validate JSON
run: |
python ci_scripts/json_linter.py

@smocer好吧,仅供参考,我发现了一些东西:(

最近,GitHub推出了一种名为PAT的东西。一些更好控制的代币。我所做的:

  1. 我创建了一个";PAT";(个人访问令牌(。("内容"部分设置为读取+写入(
  2. 我已将此令牌传递给actions/checkout
with:
token: ${{ secrets.WRITE_PAT }}
  1. 现在,由于您不是使用内置令牌而是使用外部提供的令牌进行签出,因此您的提交是由您编写的。此外,由于这与自己提交是一样的,因此会触发工作流(并最终设置状态(

所以,我希望这能有所帮助。它并不像仅仅保留检查状态,或者说,在工作流中手动明确地分配这些状态那个么快,但它仍然是某种自动化。

免责声明

小心,因为该PAT没有受到保护;级联";工作流触发。默认的ci令牌无法触发工作流是有原因的。由于新的令牌是更多的";强大";,请确保不要在每次运行时多次触发管道。

(简单地说,确保提交不会在每次触发管道时完成。理想情况下,只完成一次。(

最新更新