Skip to main content
QUICK REVIEW

[论文解读] How Do Software Developers Use GitHub Actions to Automate Their Workflows?

Timothy Kinsman, Mairieli Wessel|arXiv (Cornell University)|Mar 22, 2021
Software Engineering Research参考文献 38被引用 65
一句话总结

本研究调查了开源开发者如何使用 GitHub Actions 自动化工作流程,基于 926 个项目的断点回归设计(RDD)。研究发现,采用 GitHub Actions 会增加被拒绝的拉取请求数量,并减少已合并拉取请求中的提交次数,表明尽管开发者普遍持积极看法,但工作流程中可能存在摩擦。

ABSTRACT

Automated tools are frequently used in social coding repositories to perform repetitive activities that are part of the distributed software development process. Recently, GitHub introduced GitHub Actions, a feature providing automated workflows for repository maintainers. Although several Actions have been built and used by practitioners, relatively little has been done to evaluate them. Understanding and anticipating the effects of adopting such kind of technology is important for planning and management. Our research is the first to investigate how developers use Actions and how several activity indicators change after their adoption. Our results indicate that, although only a small subset of repositories adopted GitHub Actions to date, there is a positive perception of the technology. Our findings also indicate that the adoption of GitHub Actions increases the number of monthly rejected pull requests and decreases the monthly number of commits on merged pull requests. These results are especially relevant for practitioners to understand and prevent undesirable effects on their projects.

研究动机与目标

  • 理解开源项目如何使用 GitHub Actions 实现工作流程自动化。
  • 分析问题追踪器中开发者对 GitHub Actions 的讨论。
  • 评估采用 GitHub Actions 对项目活动指标(如拉取请求数量、提交频率和评审周期)的影响。
  • 识别自动化对贡献者参与度和代码质量可能产生的意外后果。

提出的方法

  • 使用 RepoReapers 数据集和 GitHub API 收集来自 3,190 个活跃 GitHub 仓库的数据。
  • 通过检测 .github/workflows/ 目录中的 YAML 文件来识别 GitHub Actions 的采用情况。
  • 对 209 个讨论 GitHub Actions 的 GitHub 问题进行人工分析,以对开发者情绪和关注点进行分类。
  • 应用断点回归设计(RDD)来建模采用 GitHub Actions 前后项目活动指标的变化。
  • 使用统计控制和虚假检验以确保模型稳健性并减少混杂因素的影响。
  • 追踪工作流程文件的提交历史,以分析 Actions 随时间的演变与稳定性。

实验结果

研究问题

  • RQ1RQ1:开源项目如何使用 GitHub Actions?其采用情况有多普遍?
  • RQ2RQ2:开发者在问题追踪器中如何讨论 GitHub Actions 的使用?
  • RQ3RQ3:采用 GitHub Actions 对项目活动指标(如拉取请求数量、提交频率和关闭时间)有何影响?

主要发现

  • 在研究的 416,266 个仓库中,仅有 0.7% 采用了 GitHub Actions,表明其采用率虽低但呈增长趋势。
  • 70% 的 GitHub Actions 被用于持续集成、工具和部署类别。
  • 开发者在 GitHub 问题中的讨论总体呈积极态度,常见主题包括从其他工具迁移和功能请求。
  • 采用 GitHub Actions 导致每月被拒绝的拉取请求数量显著增加。
  • 采用 GitHub Actions 同样导致已合并拉取请求中的提交次数减少,表明合并后代码迭代减少。
  • 研究未发现拉取请求关闭时间有显著变化,表明自动化并未加快或延迟解决时间。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。