GitHub Action:即使上一份成功,下一个工作也被跳过了
generate_build_number:
needs: [ aws, azure, gcp ]
name: Generate Build Number
runs-on: ubuntu-latest
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}
outputs:
build_number: ${{ steps.buildnumber.outputs.build_number }}
steps:
- name: Generate build number
id: buildnumber
uses: einaregilsson/build-number@v3
with:
token: ${{secrets.github_token}}
zip_files:
needs: generate_build_number
name: Generate Zip File
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo ${{needs.generate_build_number.outputs.build_number}} > world.txt
- uses: montudor/action-zip@v1
with:
args: zip -qq -r terraform-latest.zip aws azure gcp world.txt
- uses: actions/upload-artifact@v1
with:
name: terraform-latest
path: ${{ github.workspace }}/terraform-latest.zip
我只想在成功完成zip_files才能运行zip_files。即使generate_build_number完成了上述代码,zip_files也会跳过。
generate_build_number:
needs: [ aws, azure, gcp ]
name: Generate Build Number
runs-on: ubuntu-latest
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}
outputs:
build_number: ${{ steps.buildnumber.outputs.build_number }}
steps:
- name: Generate build number
id: buildnumber
uses: einaregilsson/build-number@v3
with:
token: ${{secrets.github_token}}
zip_files:
needs: generate_build_number
name: Generate Zip File
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo ${{needs.generate_build_number.outputs.build_number}} > world.txt
- uses: montudor/action-zip@v1
with:
args: zip -qq -r terraform-latest.zip aws azure gcp world.txt
- uses: actions/upload-artifact@v1
with:
name: terraform-latest
path: ${{ github.workspace }}/terraform-latest.zip
I want to run zip_files only after generate_build_number is completed successfully. How using the above code, even though generate_build_number finished, zip_files was skipped.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
默认情况下,当设置“需求”时,github操作将解释条件,如果:success()。因此,如果步骤中有任何失败,GH将把工作视为不成功。
您是否可以在
generate_build_number
作业中为每个步骤添加继续:true
,或
添加以下条件
By default, when "needs" is set, Github actions will interpret the condition if: success(). So if there are any failures in steps, GH will treat the job as not successful.
Either you can add
continue-on-error: true
for each step ingenerate_build_number
jobor
add a condition like below