相关疑难解决方法(0)

在 github 操作工作流中,有没有办法让多个作业重用相同的设置?

我最近将我的项目与 github 操作连接起来以进行持续集成。我创建了两个单独的作业:第一个检查拉取请求中的代码是否被我们的 linter 接受,第二个检查代码是否通过了测试套件。我喜欢这样的两个工作在 Github 网页中显示为拉取请求的两个单独的复选标记:

在此处输入图片说明

我现在遇到的问题是工作流 YAML 文件中有一些重复的代码:前 3 个步骤,安装 Lua 和 Luarocks。不仅维护起来很烦人,而且两次运行相同的操作也会浪费 CI 分钟。有没有办法避免这种情况?这样设置代码只写在一个地方,并且只在工作流执行时运行一次

但我很困惑什么是正确的方法:

  1. 我应该使用共享设置代码创建自己的 Github Action 吗?
  2. 我应该创建一个已经预先安装了 Lua 和 Luarocks 的 Docker 镜像吗?
  3. 我应该使用单个作业吗?如果 linter 和测试套件是同一个工作的步骤,我是否仍然可以有独立的复选标记?
  4. 还有什么?

这是我的工作流程的当前 YAML 文件:

name: Github Actions CI

on: [ pull_request ]

jobs:
    lint:
        name: Lint
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
            - uses: leafo/gh-actions-lua@v8.0.0
            - uses: leafo/gh-actions-luarocks@v4.0.0

            - run: luarocks install luacheck
            - run: ./run-linter.sh

    test:
        name: …
Run Code Online (Sandbox Code Playgroud)

github-actions

23
推荐指数
2
解决办法
9063
查看次数

标签 统计

github-actions ×1