Vin*_*Sai 16 github github-actions
具有本地操作的可重用工作流程不起作用。可重用工作流程正在尝试在主存储库中找到本地操作
创建示例存储库来重现问题
这是 PR 链接 -> https://github.com/vinodsai-a/github-example-repo/pull/1
错误-> https://github.com/vinodsai-a/github-example-repo/pull/1/checks
han*_*kay 11
更新:您可以在 github.com 和 GHE Server v3.9+ 上使用以下解决方法,无需输入“workflows-ref”,而是使用github.workflow_ref( doc ) 或 env-var GITHUB_WORKFLOW_REF( doc )。谢谢@Philip Couling
有一个解决方法,但它的缺点是需要为可重用工作流程指定两次引用,如下所示:
\njobs:\n build-push:\n uses: <org>/<central-workflow-repo>/.github/workflows/build-push.yml@v1.2 # always change with.workflows-ref, too\n with:\n workflows-ref: v1.2\n secrets:\n # can\'t use GITHUB_TOKEN as its different repo\n GH_ACCESSTOKEN: ${{ secrets.GH_ACCESSTOKEN }}\nRun Code Online (Sandbox Code Playgroud)\n可重用工作流程的存储库具有以下结构:
\n<org>/<central-workflow-repo>/ (github repo)\n\xe2\x94\x9c\xe2\x94\x80 .github/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 workflows/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 build-push.yml\n\xe2\x94\x9c\xe2\x94\x80 actions/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 your-action/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 action.yml\nRun Code Online (Sandbox Code Playgroud)\nworkflows<org>/<central-workflow-repo>/ (github repo)\n\xe2\x94\x9c\xe2\x94\x80 .github/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 workflows/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 build-push.yml\n\xe2\x94\x9c\xe2\x94\x80 actions/\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 your-action/\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80 action.yml\nRun Code Online (Sandbox Code Playgroud)\non:\n workflow_call:\n inputs:\n workflows-ref:\n description: "ref of the centralized workflows repo that was specified in \'jobs.<name>.uses\'"\n required: true\n type: string\n...\n steps:\n - name: Checkout workflows repo # required so we can reference the actions locally\n uses: actions/checkout@v2\n with:\n ref: ${{ inputs.workflows-ref }}\n path: workflows\n repository: <org>/<central-workflow-repo>\n token: ${{ secrets.GH_ACCESSTOKEN }}\nRun Code Online (Sandbox Code Playgroud)\n - name: Checkout repository\n uses: actions/checkout@v2\n with:\n path: app\nRun Code Online (Sandbox Code Playgroud)\n
这里的问题是,如果不使用actions/checkout操作来访问存储库中的文件,则无法调用存储库上的本地操作。
on: [workflow_call]
jobs:
local-action-testing:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4 # Necessary to access local action
- uses: ./actions/local-action
Run Code Online (Sandbox Code Playgroud)
如果您想看一下,我这里有一些概念证明:
| 归档时间: |
|
| 查看次数: |
18163 次 |
| 最近记录: |