我正在设置一个github操作工作流,它应该在提交时检测特定的文件类型。如果检测到文件类型,我希望工作流继续,但如果没有,我的工作应该跳过这些步骤。我似乎找不到任何文档详细说明通过/失败/分支逻辑。我的下一个想法是使用环境变量并在后续步骤中评估它。有人有过类似的经历吗?
- name: List Changes
run: |
CHANGE_LIST=$(git diff --name-only HEAD)
echo $CHANGE_LIST
for file in $CHANGE_LIST; do
if [[ $file =~ .py ]];
then
LINT_LIST+=( "$file" )
echo $file
fi
done
if [[ -z ${LINT_LIST[*]} ]];
then
echo "No files to lint detected"
exit 0
fi
2条答案
按热度按时间dsf9zpds1#
我通过利用github操作可用的环境变量解决了这个问题。
"::set-env name=LINT_PROCEED::false"
,并且能够在后续步骤中引用它。5lhxktic2#
GitHub Actions提供了一些表达式逻辑来处理以下情况:表情。
关于稍微不同的用例的更多详细信息,但这可能会对您有所帮助:Github Action triggered by success of a different action.