fix: re-parsing incomplete jobs must use on.workflow_call.inputs, not global inputs #1251
Labels
No labels
FreeBSD
Kind/Breaking
Kind/Bug
Kind/Chore
Kind/DependencyUpdate
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Windows
linux-powerpc64le
linux-riscv64
linux-s390x
run-end-to-end-tests
run-forgejo-tests
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo/runner!1251
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "workflow-call-reparse-inputs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Defect discovered while testing https://codeberg.org/forgejo/forgejo/pulls/10647 -- within a nested reusable workflow that is also "incomplete" (can't be fully defined until an input from another job is provided), the
inputscontext is incorrectly evaluated in the context of the top-most workflow, rather than the reusable workflow's inputs.In other words, when the job
layer-2is defined in this end-to-end test...forgejo/end-to-end@776506dfef/actions/example-workflow-call-expansion/.forgejo/workflows/reusable-layer-1.yml (L44-L52)It has to be parsed twice:
${{ needs.callee-1... }}isn't defined, sincecallee-1isn't done.${{ inputs... }}was incorrectly referencing the overall job's inputs, not the inputs toreusable-layer-1.yml, due to the bug here.fix: re-parsing jobs must use on.workflow_call.inputs, not global inputsto fix: re-parsing incomplete jobs must use on.workflow_call.inputs, not global inputsbb6013a7130cd0279598