GitHub introduced "Actions" in 2019 to increase workflow velocity and add customized automation to the repositories. Any individual can develop Actions for automating workflow on GitHub repositories and others can reuse them whenever open source. GitHub introduced its marketplace for commercializing and sharing these automation tools, which currently hosts 16,730 Actions. Yet, there are numerous Actions that are developed and distributed in local repositories and outside the Marketplace. So far, the research community conducted mining studies to understand Actions with a significant focus on CI/CD. We conducted a survey study with 90 Action developers and users to understand the motivations and best practices in using, developing, and debugging Actions, and the challenges associated with these tasks. We found that developers prefer Actions with verified creators and more stars when choosing between similar Actions, and often switch to an alternative Action when facing bugs or a lack of documentation. 60.87% of the developers consider the composition of YAML files, which are essential for Action integration, challenging and error-prone. They mainly check Q\&A forums to fix issues with these YAML files. Finally, developers tend to avoid using Actions (and hence automation) to reduce complexity, and security risk, or when the benefits of Actions are not worth the cost/effort of setting up Actions for automation.
翻译:GitHub在2019年推出了"Actions"功能,旨在提升工作流速度并为仓库添加定制化自动化方案。任何个体都可以为GitHub仓库开发用于自动化工作流的Actions,并在开源状态下供他人复用。GitHub为其推出了商业化与共享市场,目前该市场已托管16,730个Actions。然而,仍有大量Actions在本地仓库及市场外开发与分发。目前,研究界已开展了一系列挖掘研究以理解Actions,但主要集中在持续集成/持续部署(CI/CD)领域。我们针对90位Action开发者和用户开展了一项调查研究,旨在了解他们在使用、开发和调试Actions时的动机、最佳实践以及相关挑战。研究发现,开发者在选择相似Actions时更偏好具有已验证创建者和更高星标的Actions,且在遇到缺陷或文档缺失时经常转而使用替代方案。60.87%的开发者认为对Action集成至关重要的YAML文件配置既具挑战性又易出错,他们主要通过问答论坛解决这些YAML文件的问题。最后,开发者倾向于为避免复杂性、降低安全风险,或在Actions收益不足以匹配其自动化设置成本与投入时,放弃使用Actions(进而放弃自动化)。