运行上下文是 Act 执行引擎的核心组件,为运行 GitHub Actions 工作流提供环境和状态管理。它作为中心枢纽,协调工作流执行、管理容器、评估表达式,并维护作业和步骤的执行状态。
有关整体运行器系统的信息,请参阅 运行器系统。有关作业执行的详细信息,请参阅 作业执行。
运行上下文负责
该 RunContext 结构体包含执行工作流作业所需的所有信息
来源:pkg/runner/run_context.go31-56
运行上下文由 Runner 创建,并使用特定作业的配置进行初始化。它包括
RunContext 的主要职责之一是管理作业运行的容器
来源:pkg/runner/run_context.go654-683 pkg/runner/run_context.go246-429 pkg/runner/run_context.go543-551
RunContext 根据配置决定是使用 Docker 容器还是主机环境进行执行
来源:pkg/runner/run_context.go666-670
RunContext 为作业类型创建相应的执行器
来源:pkg/runner/run_context.go698-723
RunContext 通过合并来自多个来源的环境变量来管理作业执行的环境变量。
来源:pkg/runner/run_context.go78-90 pkg/runner/run_context.go818-826
RunContext 还会创建 GitHub 特定的环境变量
来源:pkg/runner/run_context.go1018-1066
RunContext 提供了一个 GitHub 上下文,其中包含有关工作流、作业、事件和仓库的信息
来源:pkg/runner/run_context.go872-973
RunContext 管理作业容器和服务容器
RunContext 处理
来源:pkg/runner/run_context.go247-429
RunContext 还管理工作流中定义的服务容器
来源:pkg/runner/run_context.go286-344
RunContext 提供了一个在作业容器中执行命令的方法
来源:pkg/runner/run_context.go431-435
RunContext 维护一个步骤结果映射,以跟踪每个步骤的结果和结论
来源:pkg/runner/run_context.go851-866 pkg/runner/run_context.go868-870
RunContext 与 Act 系统中的其他几个组件集成
来源:pkg/runner/run_context.go31-56
除了基于容器的执行,RunContext 还支持直接在主机系统上执行工作流
来源:pkg/runner/run_context.go178-245
RunContext 是 Act 执行引擎中的一个核心组件,它
其设计使 Act 能够提供一个与 GitHub Actions 云执行环境高度相似的本地环境。