关键字秘密在 github 操作工作流程中不起作用

Кос*_*чук 4 yaml action github github-actions

调用可重用的工作流程:

name: Build only workflow

on:
  pull_request:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: ./.github/workflows/build_job
        with:
          TARGET: lol
        secrets: inherit
Run Code Online (Sandbox Code Playgroud)

./.github/workflows/build_job文件夹包含action.yml文件:

name: Build job

on:
  workflow_call:
    inputs:
      TARGET:
        required: true
        type: string

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: webfactory/ssh-agent@v0.5.4
        with:
            ssh-private-key: ${{secrets.SSH_KEY}}
      - run: echo "hello"
Run Code Online (Sandbox Code Playgroud)

错误:工作流程无效。.github/workflows/build_workflow.yml(行:16,列:9):意外值“秘密”

在此输入图像描述

ret*_*hab 5

您将可重用工作流程作为一个步骤包括在内,但可重用工作流程是整个作业而不仅仅是一个步骤。

因此,您需要的是:

jobs:
  my-job:
    uses: ./.github/workflows/my-reusable-workflow.yaml
Run Code Online (Sandbox Code Playgroud)

然后,由于您无法再从外部进行结帐,因此您必须将结帐添加到可重用工作流程中。

另请参阅我关于复合操作和可重用工作流程之间的区别的另一个答案。