Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GitHub行动“;扩展;现有工作_Github_Github Actions - Fatal编程技术网

GitHub行动“;扩展;现有工作

GitHub行动“;扩展;现有工作,github,github-actions,Github,Github Actions,我希望有一些github操作工作流,它应该检查linting,检查构建代码是否成功,如果成功,则运行测试 我的第一项“工作”是安装依赖项。每项工作都需要完成,因此我在每项工作中都要做到以下几点: - uses: actions/checkout@v2 - name: Cache functions node_modules uses: actions/cache@v2 with: path: node_modules key: ${{ runner.os }}-${{

我希望有一些github操作工作流,它应该检查linting,检查构建代码是否成功,如果成功,则运行测试

我的第一项“工作”是安装依赖项。每项工作都需要完成,因此我在每项工作中都要做到以下几点:

- uses: actions/checkout@v2

- name: Cache functions node_modules
  uses: actions/cache@v2
  with:
    path: node_modules
    key: ${{ runner.os }}-${{ hashFiles('package.json') }}

- name: Install dependencies
  run: npm ci
有没有办法将其定义为作业
依赖项
,然后让另一个作业
lint
扩展此作业?有一个缓存,所以它不会重新安装,但感觉像是无缘无故的长代码重复


如果您想在此处应用干式规则,请检查

现在,您可以使用shell脚本创建可重用的操作,甚至可以在同一个操作中混合使用多种shell语言。您可能有很多shell脚本来自动化许多任务,现在您可以轻松地将它们转换为一个操作,并将它们用于不同的工作流

您可以按如下方式使用它:

主文件:

作业:
建造:
运行于:windows最新版本
步骤:
-用途:行动/checkout@v2
-用途:octocat/say-hello@v1
与:
os:${{runner.os}
octocat/say hello/action.yml

输入:
姓名:
操作系统:“你的操作系统”
默认值:“无操作系统默认值”
跑:
使用:“复合”
步骤:
-用途:行动/checkout@v2
-名称:缓存功能节点\ U模块
用途:行动/cache@v2
与:
路径:节点\单元模块
键:${inputs.os}-${{hashFiles('package.json')}
-名称:安装依赖项
运行:npm ci
如果您计划将composite与主工作流保持在同一回购协议中,则将其称为

    - uses: ./.github/actions/say-hello
对于此文件夹结构:


我尝试过这个,但似乎不允许在组合中使用
uses
。看见