我有可重用的工作流程,其中我声明了一些 github 操作输出。
# .github/actions/tests/action.yml
name: ""
description: "Runs Docker tests"
inputs:
go-version:
description: "Version of Go to set up"
required: true
outputs:
test_status:
description: "The result of the tests: success or failure"
runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: ${{ inputs.go-version }}
- name: Run tests
id: run_tests
run: |
set +e
output=$(go test -v ./... -tags=run_check)
set -e
echo $output
if echo "$output" | grep -q "FAIL"; then
echo "test_status=failure" >> $GITHUB_OUTPUT
exit 1
else
echo "test_status=success" >> $GITHUB_OUTPUT
fi
working-directory: test
shell: bash
我在另一个存储库中调用此操作 呼叫者工作流程:
- name: Run post build tests
id: post_buid_tests
uses: <owner>/<repo>/.github/actions/tests@main
with:
go-version: '1.23'
现在,当我尝试访问此输出时,它什么也没有返回
- name: Post Node image
if: ${{ steps.post_buid_tests.outputs.test_status == 'success' }}
run: |
echo "Test Status: Successful"
steps.post_buid_tests.outputs.test_status 这不会返回任何内容..请注意,可重用操作和调用者工作流程位于不同存储库中。
我尝试使用 github_output,但它不起作用,而 github_env 工作正常。这是否意味着我们无法在 GitHub Actions 中的存储库之间共享变量?