我想用在GitHub上动作的复合运行步骤的动作,如所描述这里,为了重新使用他们在不同的工作流程。但是,我收到错误:
An action could not be found at the URI 'https://api.github.com/repos/scripts/build_ubuntu/tarball/v1
Run Code Online (Sandbox Code Playgroud)
我的主要工作流程(.github/workflows/BuildUbuntu.yml)如下:
[...]
jobs:
ubuntu_build_appimage:
name: Build MeshLab (Ubuntu - AppImage)
runs-on: ubuntu-16.04
steps:
- uses: scripts/build_ubuntu@v1
[...]
Run Code Online (Sandbox Code Playgroud)
复合步骤 ( .github/workflows/scripts/build_ubuntu/action.yml) 如下:
runs:
using: "composite"
steps:
- uses: actions/checkout@v2
with:
submodules: true
[other steps...]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
GitHub 操作是否支持嵌套模板?例如,以下是 Azure Pipeline yaml 的示例,它调用另一个 yaml 文件:
- job: BuildFunctions
steps:
- ${{ each func in parameters.functionApps }}:
- template: yaml/build-functionapps.yml
parameters:
Run Code Online (Sandbox Code Playgroud)
是否可以在 GitHub 操作中从另一个 yaml 文件调用 yaml 文件?
我正在尝试让私有 GitHub 操作在我的私有 GitHub 组织中工作。包含这些工作流程“模板”的私人存储库具有这个简单的文件结构,因为我只是试图让最低限度的工作:
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 action.yml\nRun Code Online (Sandbox Code Playgroud)\n文件action.yml内容是:
name: Test\n\non: push\n\njobs:\n test:\n name: Test\n runs-on: ubuntu-latest\n steps:\n\n - name: Echo\n run: |\n echo Heyyyyy\nRun Code Online (Sandbox Code Playgroud)\n我正在尝试在另一个私有存储库中使用此操作,并使用包含以下内容的工作流程文件:
\nname: Test\n\non:\n push:\n branches:\n - master\n\njobs:\n test:\n name: Test\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v2\n with:\n repository: <private-actions-repo>\n token: ${{ secrets.REPO_TOKEN }}\n path: github-actions\n - name: Test private action\n uses: ./github-actions/test\nRun Code Online (Sandbox Code Playgroud)\n当此操作运行时,我收到以下错误:\n##[error]Top level 'runs:' section is required for /home/runner/work/<private-repo>/./github-actions/test/action.yaml
为了对此进行调试,我将使用模板的工作流程更新为该cat文件的文件内容: …