如何判断代码是否运行在GitHub Actions工作流环境中
判定方案
GitHub Actions 工作流运行时,会自动向所有执行步骤的环境中注入默认环境变量GITHUB_ACTIONS,该变量的值固定为true,直接判断这个变量的取值即可识别当前运行环境,该方案与编程语言无关。
Ruby 代码实现
替换伪代码中的判定逻辑即可:
on_github_action = ENV['GITHUB_ACTIONS'] == 'true' unless on_github_action Capybara.current_driver = :selenium_chrome else # GitHub Actions 环境下使用无头浏览器驱动 Capybara.current_driver = :selenium_chrome_headless end
注意事项
- 不需要在 GitHub Actions 工作流配置文件中手动定义
GITHUB_ACTIONS变量,该变量由平台自动注入,所有运行步骤默认可读取 - 判定时要匹配字符串值
'true',大部分语言读取环境变量时不会自动做布尔类型转换,不要仅判断变量是否存在,避免其他环境碰巧存在同名变量导致误判
内容的提问来源于stack exchange,提问作者stevec
相关产品推荐
相关产品推荐

