如何从调用工作流访问被调用工作流中的文件?是否需检出其仓库?
从被调用工作流访问main.py的最佳方式
核心结论
完全不需要在调用工作流(caller-workflow)里检出被调用工作流的仓库,被调用工作流自身就能直接访问仓库里的main.py。
为什么你当前的被调用工作流写法是对的
你提供的called-workflow里已经包含了actions/checkout步骤,这个步骤默认会检出被调用工作流所在的仓库(也就是存放main.py的那个仓库)。当你通过uses: <organization>/<repository>/.github/workflows/deploy.yml@main调用工作流时,GitHub Actions会自动关联到目标仓库的main分支,被调用工作流里的checkout步骤会把整个仓库(包括main.py)拉取到运行环境,后续执行python main.py自然能找到文件。
调用工作流里的冗余操作可以删掉
你写的caller-workflow里的checkout job完全没必要留着,而且path: main.py的写法也是错误的——path参数是用来指定仓库检出到哪个目录,不是指定单个文件。直接删掉这个checkout job,只保留调用deploy.yml的job就行,简化后的调用工作流如下:
name: Jellyfish DORA on: workflow_dispatch: jobs: deploy: uses: <organization>/<repository>/.github/workflows/deploy.yml@main with: repository-name: "你的目标仓库名" # 其他需要传递的参数 .....
内容的提问来源于stack exchange,提问作者semural
相关产品推荐
相关产品推荐

