workflow 可以用exit 1来终止,这样将直接跳过后续的所有 job
但是这样一来,这次执行就会被标记为失败
如果我希望达成和exit 1一样的效果,也就是终止 workflow 并跳过后续 job ,但是这次执行被标记为成功,请问该如何处理
说的可能有点抽象,我直接用具体例子吧
比如我的 workflow 想实现如下的功能
job1: 获取本地仓库最新 tag ,写入环境 获取上游仓库最新 tag ,写入环境 比较两个 tag ,如果相同则终止 workflow 并跳过后续 job2 ,如果不同则执行 job2 job2: do someting 在比较 tags 这一步,我是这样写的
- name: Compare Tags run: | echo $LOCAL_LATEST_TAG && echo $UPSTREAM_LATEST_TAG if [[ $LOCAL_LATEST_TAG != $UPSTREAM_LATEST_TAG ]]; then echo "Tags are not equal. Moving to next job." exit 0 else echo "Tags are equal. Skipping next job." exit 1 fi 功能性上没有问题,能达到我想要的效果,但是如果用exit 1结束了,这次 action 就会被标记为失败,那么如果我希望即使 tags 相同终止 workflow 跳过后续也标记为成功,该怎么写呢,求大佬指导
不得不吐槽一下 chatgpt ,指导了我半小时,最终成果还是错误百出
