是否可以从github动作中调用一个(或多个)github动作来创建更专门的动作,或者聚合许多小动作并创建“元github动作”?
xuquanfu 回答:从另一个github动作调用github动作?
它不受官方支持,但是当没有许可问题时,您可以选择以下任一选项:
- 最简单的方法是将大多数操作在
/dist/
目录下提供的单个.js文件(嵌入所有依赖关系,通常由ncc打包)添加到您的操作存储库中;然后只需设置所需的INPUT_*
并启动它,例如node action.js
。 - 或者,您可以在自己的操作的存储库中添加想要使用的所需操作作为 subrepo (或 subtree ,但不是 >作为子模块,因为后者不会与您的操作存储库一起获取),并像我为run-vcpkg和{{ 3}} GitHub动作。
我不知道有内置功能可以做到这一点。
这是一个相关的问题,原始发帖人回答了一个变通办法,其中涉及使用从其他操作发布的NPM软件包。 How can I reference other actions from my GitHub Action's action.yml file?
在类似的情况下,我需要actions/setup-python
to be released as an NPM package,因此可以在Javascript操作中使用它。
如果要在操作中使用其他操作,则只能通过以下方式进行操作:
- 公开行动
- 同一存储库中的动作
- 对Docker Hub或Docker公共注册器的操作
使用uses
关键字。